Javascript对象实例在调用数组时失去函数访问权

Javascript对象实例在调用数组时失去函数访问权,javascript,arrays,object,prototype,Javascript,Arrays,Object,Prototype,我有以下代码示例: var cobj={ 答:0,, b:0, c:0, asdinit:函数(x,y,w,h){ a=x; 这个。b=y; 这个c=w; 这个,h=h; }, adsfads:功能(a、b、c、d){ 这个a=a; 这个.b=b; 这个.c=c; } } var c=新的cobj.asdinit(1,1,1,1); var bigarray=[] 对于(t=0;t

我有以下代码示例:

var cobj={
答:0,,
b:0,
c:0,
asdinit:函数(x,y,w,h){
a=x;
这个。b=y;
这个c=w;
这个,h=h;
},
adsfads:功能(a、b、c、d){
这个a=a;
这个.b=b;
这个.c=c;
}
}
var c=新的cobj.asdinit(1,1,1,1);
var bigarray=[]
对于(t=0;t<10;t++){
var newobj=新的cobj.asdinit(1,1,1,1);
bigarray.push(newobj);
}
对于(t=0;t<10;t++){
var localobj=bigarray[t];
localobj.adsfad(1,1,1,1);

}
您需要重新编写代码,以便函数返回您的对象

var cobj = function() {
  return {
    a: 0,
    b: 0,
    c: 0,
    asdinit: function(x, y, w, h) {
      this.a = x;
      this.b = y;
      this.c = w;
      this.h = h;
    },
    adsfads: function(a, b, c, d) {
      this.a = a;
      this.b = b;
      this.c = c;
    }
  }
}.bind(this)

vat cobjInstance = cobj();
var c = cobjInstance.asdinit(1, 1, 1, 1);
var bigarray = []
for (t = 0; t < 10; t++) {
  var newobj = new cobjInstance.asdinit(1, 1, 1, 1);
  bigarray.push(newobj);
}
for (t = 0; t < 10; t++) {
  var localobj = bigarray[t];
  localobj.adsfads(1, 1, 1, 1);
}

var cobj=function(){
返回{
答:0,,
b:0,
c:0,
asdinit:函数(x,y,w,h){
a=x;
这个。b=y;
这个c=w;
这个,h=h;
},
adsfads:功能(a、b、c、d){
这个a=a;
这个.b=b;
这个.c=c;
}
}
}.绑定(此)
vat cobjInstance=cobj();
var c=cobjInstance.asdinit(1,1,1,1);
var bigarray=[]
对于(t=0;t<10;t++){
var newobj=newcobjinstance.asdinit(1,1,1,1);
bigarray.push(newobj);
}
对于(t=0;t<10;t++){
var localobj=bigarray[t];
localobj.adsfad(1,1,1,1);
}

您需要重新编写代码,以便函数返回您的对象

var cobj = function() {
  return {
    a: 0,
    b: 0,
    c: 0,
    asdinit: function(x, y, w, h) {
      this.a = x;
      this.b = y;
      this.c = w;
      this.h = h;
    },
    adsfads: function(a, b, c, d) {
      this.a = a;
      this.b = b;
      this.c = c;
    }
  }
}.bind(this)

vat cobjInstance = cobj();
var c = cobjInstance.asdinit(1, 1, 1, 1);
var bigarray = []
for (t = 0; t < 10; t++) {
  var newobj = new cobjInstance.asdinit(1, 1, 1, 1);
  bigarray.push(newobj);
}
for (t = 0; t < 10; t++) {
  var localobj = bigarray[t];
  localobj.adsfads(1, 1, 1, 1);
}

var cobj=function(){
返回{
答:0,,
b:0,
c:0,
asdinit:函数(x,y,w,h){
a=x;
这个。b=y;
这个c=w;
这个,h=h;
},
adsfads:功能(a、b、c、d){
这个a=a;
这个.b=b;
这个.c=c;
}
}
}.绑定(此)
vat cobjInstance=cobj();
var c=cobjInstance.asdinit(1,1,1,1);
var bigarray=[]
对于(t=0;t<10;t++){
var newobj=newcobjinstance.asdinit(1,1,1,1);
bigarray.push(newobj);
}
对于(t=0;t<10;t++){
var localobj=bigarray[t];
localobj.adsfad(1,1,1,1);
}

您正在使用
asdinit
adsfad
函数作为构造函数。从每个构造创建的对象仅具有
a
b
c
属性。他们没有任何原型方法

我想你真正想要的是

classcobj{
构造器(x,y,w,h){
这个,a=x
这个。b=y
这个。c=w
这个。h=h
}
ADSFAD(a、b、c、d){
这个a=a
这个.b=b
这个。c=c
}
}
var bigarray=[]
对于(t=0;t<2;t++){
var newobj=新cobj(t,t,t,t);
bigarray.push(newobj);
}
对于(t=0;t<2;t++){
var localobj=bigarray[t];
localobj.adsfad(t+1,t+1,t+1,t+1);
console.log(localobj)

}
您正在使用
asdinit
adsfad
函数作为构造函数。从每个构造创建的对象仅具有
a
b
c
属性。他们没有任何原型方法

我想你真正想要的是

classcobj{
构造器(x,y,w,h){
这个,a=x
这个。b=y
这个。c=w
这个。h=h
}
ADSFAD(a、b、c、d){
这个a=a
这个.b=b
这个。c=c
}
}
var bigarray=[]
对于(t=0;t<2;t++){
var newobj=新cobj(t,t,t,t);
bigarray.push(newobj);
}
对于(t=0;t<2;t++){
var localobj=bigarray[t];
localobj.adsfad(t+1,t+1,t+1,t+1);
console.log(localobj)

}
谢谢,据我所知,此时我需要类和构造函数,它似乎没有使用其他语法到达那里。谢谢,据我所知,此时我需要类和构造函数,它似乎没有使用其他语法到达那里。