0

由数组生成的变量何时充当指向数组的指针,何时充当数组的副本?

例如,如果我有一个名为Array1

a1=Array1;     

a1一个副本或指向数组的指针。

如果我修改a1它也会修改Array1. 通过修改,我的意思是更改一个值,将某些内容推入数组,排序或任何其他可以修改数组的方式。

谢谢,

4

2 回答 2

1

javascript 中的变量保存对数组的引用。

如果使用 复制变量值arr2 = arr1,则将引用复制到同一数组。因此,任何对 的更改arr2都是对 的更改arr1

如果您希望另一个变量保存对副本的引用,以便您可以更改第二个数组而不更改第一个数组,请使用slice

var arr2 = arr1.slice();
于 2013-03-15T21:54:14.023 回答
1

JavaScript 中的变量赋值永远不会为非原始对象(所有不是value的东西)制作副本。

所有非值的赋值复制引用

于 2013-03-15T21:56:43.420 回答