前端性能优化有哪些方法 编程里面的深拷贝和浅拷贝各是什么意思,怎么理解这两个?
浏览量:1876
时间:2021-03-12 11:50:27
作者:admin
编程里面的深拷贝和浅拷贝各是什么意思,怎么理解这两个?
浅拷贝意味着源对象和拷贝对象共享同一个实体,只是引用的变量不同(名称不同)。对其中一个对象的更改会影响另一个对象。例如,一个人的名字起初是张三,后来改成了李四,但却是同一个人。无论是张三缺胳膊缺腿,还是李四缺胳膊缺腿,都是同一个人的厄运。深度复制是指源对象和复制对象相互独立,任何对象的改变都不会影响到另一个对象。例如,一个叫张三的人被用来克隆另一个叫李四的人。不管张三缺胳膊缺腿,李四缺胳膊缺腿,都不会影响别人。典型的是值对象,例如预定义的类型int32、double、struct、enum等
1。深拷贝和浅拷贝都是源对象的拷贝,占用不同的内存空间。
2. 不可变类型的对象对深副本和浅副本没有影响,并且最终地址值和值是相等的。
3. 变量类型:
=浅复制:等值,等地址
复制浅复制:等值,不等地址
深度复制:等值,不等地址
浅复制只复制引用,数据仍然是内存中的一个。如果引用对象发生更改,深度复制相当于将数据复制到内存中。此时,修改变量不会影响原始变量。同样,修改原始变量不会影响当前变量
前端性能优化有哪些方法 js深拷贝的三种实现方式 前端深拷贝和浅拷贝的区别
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
移位加密解密算法例题 换位加密法