代码改变世界

用JSON.stringify去实现深拷贝的弊端

2019-09-24 17:00  改吧  阅读(2715)  评论(0编辑  收藏  举报

无法处理function啦还有RegExp啦,还有无法处理循环引用对象(这个我还没有test)

就前两点的话

var a={
    a:1,
    b:new RegExp('test'),
    c:function(){}
}

然后var b=JSON.parse(JSON.stringify(a))

输出b的话

{
a: 1
b: {}
}

就这样啦

c:function都没有复制过来,RegExp对象没有处理

 

 

还有什么的话欢迎补充啦

------------------------------

我晕 好像我看stackoverflow上面这个弊端还蛮多的

 you do not use Dates, functions, undefinedInfinity, RegExps, Maps, Sets, Blobs, FileLists, ImageDatas, sparse Arrays, Typed Arrays or other complex types within your object, a very simple one liner to deep clone an object is:

这么多都不能处理呢