【发布时间】:2016-04-04 21:24:42
【问题描述】:
每当我尝试更改数组 y 中的第一个对象时,我数组中的所有其他对象 y 属性也会更改,有没有办法防止这种情况发生,或者有办法将多个对象添加到共享相同的数组中特性 ? 我一直在尝试解决这个问题(我正在创建一个使用类似数组进行子弹射击的游戏,每当我更改数组中第一项的 y 属性时,数组中的所有其他 y 属性都会随之更改)并且我认为这可能是问题所在?
var obj = {x:30,y:20};
var arr = [];
for(var i = 0;i<3;i++) {
arr.push(obj);
}
arr[0].y = 40;
document.write(arr[0].y + " " + arr[1].y);
【问题讨论】:
-
数组中的每个索引都包含对同一对象的引用 - 因此更改一个索引中的值将对所有索引生效。
标签: javascript html