怎么讲循环后的结果存到一个数组中后面能使用数组
1个回答
展开全部
举个简单例子,希望你能明白,
1、下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
var dd = [];
var a = { "cname": "tom" };
for (var i = 0; i <4; i++) {
dd[i] =a;
}
dd[0].cname = "jim";
alert(dd[2].cname);
2、下面输出结果是0,而不是1,
是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。
var dd = [];
var a = 0;
for (var i = 0; i <4; i++) {
dd[i] =a;
}
dd[0]=1;
alert(dd[2]);
1、下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
var dd = [];
var a = { "cname": "tom" };
for (var i = 0; i <4; i++) {
dd[i] =a;
}
dd[0].cname = "jim";
alert(dd[2].cname);
2、下面输出结果是0,而不是1,
是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。
var dd = [];
var a = 0;
for (var i = 0; i <4; i++) {
dd[i] =a;
}
dd[0]=1;
alert(dd[2]);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询