我有一个数组array1,我将它的副本存储在另一个变量say array2中。
现在,当我尝试将值推送到array1时,即使在将值推送到array1之前分配了array2,该值也会被推送到array2中。
这也发生在.splice()方法中。
var array1 = [1,2,3];
var array2 = array1;
array1.push(4);
alert(array1);
alert(array2);
答案 0 :(得分:1)
答案 1 :(得分:0)
JavaScript具有原始类型和引用类型.Array是一种引用类型。 Array2
获取引用,因此array1
的修改会影响array2
。您也可以使用此代码:
var array1 = [1,2,3];
var array2 = array1.concat();
array2.push(4);
alert(array1);
alert(array2);