我有一個複雜的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]
我的實際對象要複雜得多,但是這是發生了什麼的基本思想......
有任何想法嗎?
關於鉻的工作正常,您的瀏覽器是什麼? – pylover 2012-04-12 22:56:20
它工作正常。你可以在http://jsfiddle.net/swzF9/看到。 – Zafer 2012-04-12 22:58:12