var aArr = ["a", "b", "c"];
var bArr = aArr;
这种情况下的赋值无论是对aArr还是bArr做出操作(例如删除数组中的一个元素),都将影响另一个。
aArr.splice(0, 1);
alert(aArr);
alert(bArr);
如上删除aArr数组的第一个元素,两个数组的值都是["b", "c"]。
因为数组是指向原位置的。
解决发放是切断两个数组之间的关联用concat
或者slice
赋值
var bArr = aArr.slice();
var bArr = [].concat(aArr);