Javascript 无法访问对象的数组
下面是我的javascript代码:Javascript 无法访问对象的数组,javascript,Javascript,下面是我的javascript代码: function A (no ){ this.no=no; }; function AController (){ this.amount =0; this.array=[]; }; AController.prototype.initArray=function(){ for(var i=1;i<=this.amount;i++){ var tem=new A(i) ; this.
function A (no ){
this.no=no;
};
function AController (){
this.amount =0;
this.array=[];
};
AController.prototype.initArray=function(){
for(var i=1;i<=this.amount;i++){
var tem=new A(i) ;
this.array.push(tem);
}
};
欢迎您发表评论您需要从
0
for (var i = 0; i < 2; i++) {
f.array[i].no = 0;
}
for(变量i=0;i<2;i++){
f、 数组[i].no=0;
}
在
push
操作之后,数组是[A(1),A(2)]
,因此f.array[2]
将是未定义的
。由于您试图在数组中的未定义的第三个对象上分配no
属性,因此出现了该错误。您需要从0
for (var i = 0; i < 2; i++) {
f.array[i].no = 0;
}
for(变量i=0;i<2;i++){
f、 数组[i].no=0;
}
在push
操作之后,数组是[A(1),A(2)]
,因此f.array[2]
将是未定义的
。由于您试图在数组中的第三个对象上分配no
属性,该对象是未定义的
,因此出现了该错误。Um。。。您确定问题出在您发布的代码上吗?我看不到f.cardArray
任何地方…嗯,你的代码中没有任何地方使用f.cardArray
此外,正如在一个现已删除的答案中所提到的,在迭代数组时,你应该从0
索引开始-数组[2]
中长度为2的数组将返回一个错误。我编辑了问题,f.cardArray应该是f.array。sza的回答是正确的。。。您确定问题出在您发布的代码上吗?我看不到f.cardArray
任何地方…嗯,你的代码中没有任何地方使用f.cardArray
此外,正如在一个现已删除的答案中所提到的,在迭代数组时,你应该从0
索引开始-数组[2]
中长度为2的数组将返回一个错误。我编辑了问题,f.cardArray应该是f.array。sza的回答是正确的。事实上,他已经按照读取数组的方式填充了数组,所以它应该可以工作,不是吗?@Virus721:不是最后一个数组元素。@collapsar Ho我刚刚意识到他使用了.push()而不是[],但在这种情况下它会工作。@Virus721:是的,它会工作。事实上,他按照读取数组的方式填充了数组,所以它应该可以工作,不是吗?@Virus721:不是最后一个数组元素。@collapsar Ho我刚刚意识到他使用了.push()而不是[],但在这种情况下它会工作的。@Virus721:是的,它会工作的。
for (var i = 0; i < 2; i++) {
f.array[i].no = 0;
}