根据MDN文档,调用
然而,如果我在控制台中运行以下简单测试:
array.slice()
将创建一个数组的浅拷贝。
请参阅此MDN链接slice()。然而,如果我在控制台中运行以下简单测试:
var test = [[1,2,3],7,8,9];
var shallow_copy = test.slice();
并且检查shallow_copy,我可以看到整个二维数组似乎被复制了。
浅拷贝和深拷贝有什么区别?如果让我猜的话,我会称之为深拷贝。
test[0] === shallow_copy[0]
,它们引用同一个数组对象。 - Bergi