手记
下载APP

JS中深拷贝与浅拷贝

最近遇到了一些关于拷贝的问题,总结如下:

1、浅拷贝只是复制了指向某个对象的指针,而不是复制对象本身,新旧对象其实是同一内存地址的数据,修改其中一个值,另一个也会动态改变。


https://img.mukewang.com/5c4333da0001782210340576.jpg

2、深拷贝是真正意义上实现了数组和对象的拷贝,它创建了另外一个一模一样的对象,和原对象不是一个内存地址,修改一个值不会影响另一个的值。

方法1:封装函数

https://img2.mukewang.com/5c4334d60001faeb12860968.jpg

方法2:JSON解析(JSON复制:优点简单,缺点无法复制函数,不仅继承的属性会丢失,而且原型链没有了;适用于单个)

https://img4.mukewang.com/5c4335bb000197c010180346.jpg

本文仅仅简述了js深浅拷贝,以及实现深浅拷贝的简单代码,如有不当之处,请各位指正!谢谢!

打开App,阅读手记
0人推荐
随时随地看视频慕课网APP