如果我使用拼接克隆一个数组,它给了我一个浅拷贝,缺少了什么?看来我找回多级数组,因此如果我理解正确,它不是数组的深度。深层和浅层克隆有什么区别?
2
A
回答
3
在浅拷贝中,如果数组(或对象属性)是对象的引用,则只复制引用。
var a = [{name: "Bob"}];
var b = a.slice(0);
b[0].name = "Tom";
alert(a[0].name); // "Tom"
A“深”的副本可确保结果包含原始数据结构中的所有引用对象的新副本。执行深层复制可能会有问题,具体取决于所涉及对象的性质。
0
理解深深浅浅的克隆的最佳方式是:
在浅克隆如果参考对象存在时,它不会 连载。
在深度克隆中,对象引用和当前都是序列化的。 而是与此有这么多的东西进入画面像 池,对象引用等
相关问题
- 1. 如何在java中进行浅层克隆和深度克隆?
- 2. 深层和浅层历史有什么区别?他们如何表示? in uml
- 3. 浅层和深层复制
- 4. “浅”和“深”ping有什么区别?
- 5. 稀疏结帐和浅层克隆
- 6. “层”和“层”之间有什么区别?
- 7. Java深层克隆问题
- 8. Java的浅层和深层复制JLS
- 9. 如何知道git的浅层克隆的深度?
- 10. GitHub Enterprise支持浅层克隆吗?
- 11. 浅层克隆中的“嫁接”提交到底是什么?
- 12. .slice()是一个“浅层克隆”是什么意思?
- 13. 复制和克隆有什么区别?
- 14. C++浅/深层复制?
- 15. Extjs存储深层克隆问题
- 16. 如何克隆(深层拷贝)java linkList
- 17. jQuery.extend()深层克隆嵌套对象
- 18. 使用克隆进行深层复制
- 19. 浅取和浅克隆
- 20. c#中的层和层之间有什么区别#
- 21. 应用层和业务逻辑层之间有什么区别?
- 22. AWS beanstalk中工作层和Web层之间有什么区别
- 23. CNN中的Conv层和Pooling层有什么区别?
- 24. “数据服务层”和“数据访问层”有什么区别?
- 25. Git:将浅层克隆推送到没有“unshallow”的新远程?
- 26. 克隆新图层
- 27. 列表有没有更好的深层克隆方法?
- 28. 什么是浅克隆的限制
- 29. 层与层应用程序有什么区别?
- 30. 的Java:深克隆一个复杂的“有-A”类层次
感谢名单,以便在深克隆是指所有的值复制,并失去其原来的对象连接? – ilyo 2013-05-04 14:40:26
是的 - 在深层复制中,新(结果)数组或对象将拥有自己的原始副本。通常,这也是递归的。 – Pointy 2013-05-04 14:45:18