首先来看一下如下代码
你会发现,同一个Array或者Object赋值给两个不同变量时,变量指向的是同一个内存地址,所以就会造成其中一个变量改变属性值,同时改变了另外一个变量的对应属性值。
而大多数实际项目中,我们想要的结果是两个变量(初始值相同)互不影响。所以就要使用到 拷贝(分为深浅两种)
浅拷贝只复制一层对象的属性,而深拷贝则递归复制了 所有层级。
浅拷贝有效性针对的是单一层级对象 [1,2,3]或者{a:1,b:2}
深拷贝有效性针对的是单层或者多层级对象 [1,2,3]或者{a:1,b:2}或者[1,[1],{a:1}]或者{a:[1],b:{c:2}}
- 如何实现
- 应用场景
对于一层结构的Array和Object想要拷贝一个副本时使用
vue的mixin是浅拷贝的一种复杂型式
- 如何实现
- 应用场景
复制深层次的object数据结构 - 对深拷贝的应用想法
在实际工作中是不是用继承来实现更好?需要大家来讨论,提意见
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qdvuejs/38886.html