【发布时间】:2012-04-13 06:50:41
【问题描述】:
我有一个带有数组的复杂 javascript 对象。当我尝试为索引的一个属性设置值时,它会应用于数组的所有项。
这是一个基本的例子:
var obj = new Object();
obj.arr = [];
obj.arr[0] = {pos:[0,0]};
obj.arr[1] = {pos:[0,0]};
现在,如果我通过特定索引为对象的属性设置值,
obj.arr[0].pos = [10,10];
obj.arr[1].pos = [5,5];
这里似乎为数组的两个项目设置了值[5,5]。结果值为:
console.log(obj.arr[0].pos) 返回[5,5]
和
console.log(obj.arr[1].pos) 也返回 [5,5]
我的实际对象要复杂得多,但这是正在发生的事情的基本概念......
有什么想法吗?
【问题讨论】:
-
在 chrome 上工作正常,你的浏览器是什么?
-
它工作正常。你可以在jsfiddle.net/swzF9看到。
标签: javascript arrays object