js怎么循环出变量,然后一个个储存到数组中? 200

 我来答
匿名用户
2017-08-15
展开全部

举个简单例子,希望你能明白,

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]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式