首先我们先来看一张截图
代码注释
- obj变量中有个time字段,是Date格式数据
- 通过
{...obj}
等到一个objCopy对象,对象中同样也有个time字段 - 通过
JSON.parse(JSON.stringify(obj))
得到一个jsonObj对象,对象中同样有个time字段 - obj和objCopy对象中的time是Date格式,但是通过
JSON.parse(JSON.stringify(obj))
转换得到的jsonObj对象中time不再是Date格式的数据了。
总结
JSON.parse(JSON.stringify())
通过此方法确实可以实现一定程度的深拷贝,但是使用此方法,要注意对象中的字段如果是Function或者是Date格式的,深拷贝就会出现问题了。如果对象中有Function或者Date格式的数据,尽量还是不要用JSON.parse(JSON.stringify())
此方法来实现深拷贝。