如果我使用splice来克隆一个数组,它会给我一个浅拷贝,缺少什么?我似乎回到了多级数组,所以如果我理解的话,它不是数组的深度。
答案 0 :(得分:3)
在浅层副本中,如果数组(或对象属性)是对象的引用,则只复制引用。
var a = [{name: "Bob"}];
var b = a.slice(0);
b[0].name = "Tom";
alert(a[0].name); // "Tom"
“深度”副本确保结果包含原始数据结构中所有引用对象的新副本。执行深层复制可能会有问题,具体取决于所涉及对象的性质。
答案 1 :(得分:0)
理解深度和浅层克隆的最佳方法是:
在浅层克隆中,如果存在参考对象,则不会 连载。
在深度克隆中,对象引用和当前都是序列化。 相反,有这么多东西出现在画面中 池,对象引用等