1. JS 中拷贝对象分为浅拷贝和深拷贝
浅拷贝 : 拷贝引用
深拷贝 : 拷贝里面的数据成新的对象
2. 常规做法 递归 , 简单实现方式如下:
var a = {name: "xiaoming"}
var b = JSON.parse(JSON.stringify(a))
// b 就是对 a 的一个深拷贝
当对象中包含
undefined
、函数
以及symbol
值的时候,在JSON.stringify()
序列化过程中会被忽略,所以需要避免在包含上述值的源对象中采用这种拷贝方式