【发布时间】:2013-04-28 19:38:02
【问题描述】:
如果我使用 splice 克隆一个数组,它会给我一个浅拷贝,缺少什么?看来我得到了多级数组,所以如果我理解正确的话,它不是数组的深度。
【问题讨论】:
标签: javascript arrays clone
如果我使用 splice 克隆一个数组,它会给我一个浅拷贝,缺少什么?看来我得到了多级数组,所以如果我理解正确的话,它不是数组的深度。
【问题讨论】:
标签: javascript arrays clone
了解深克隆和浅克隆的最佳方法是:
在浅克隆中,如果引用对象存在,则不会 连载。
在深度克隆中,对象引用和当前都序列化。 取而代之的是,有很多事情像 池、对象引用等
【讨论】:
在浅拷贝中,如果数组(或对象属性)是对对象的引用,则只复制引用。
var a = [{name: "Bob"}];
var b = a.slice(0);
b[0].name = "Tom";
alert(a[0].name); // "Tom"
“深”副本确保结果包含原始数据结构中所有引用对象的新副本。执行深层复制可能会出现问题,具体取决于所涉及对象的性质。
【讨论】: