如何实现深拷贝

一、JSON. parse (JSON. stringify())
JSON. stringify():将对象转成JSON 字符串。
JSON. parse():将字符串解析成对象。
通过JSON. parse (JSON. stringify())将JavaScript 对象转序列化(转换成JSON字符串),再将其还原成JavaScript对象,一去一 来我们就产生了一个新的对象,而且对象会开辟新的栈,从而实现深拷贝。

此方法虽然简单,但是却有很多局限性。

1、不能存放函数或者 Undefined,否则会丢失函数或者 Undefined;
2、不要存放时间对象,否则会变成字符串形式;
3、不能存放 RegExp、Error 对象,否则会变成空对象;
4、不能存放 NaN、Infinity、-Infinity,否则会变成 null;

二、.函数库Lodash
Lodash作为一个JavaScript 函数库/工具库,它里面有非常好用的封装好的功能,大家可以去试试,这里我们查看下它的cloneDeep() 方法,该方法会递归拷贝value。

首先需要npm先下载lodash包

三、框架jQuery中extend() 方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容