浅拷贝
1 | let newObj = Object.assign({},oldObj); |
深拷贝
利用json序列化
JOSN对象中的stringify可以把一个js对象序列化为一个JSON字符串,parse可以把JSON字符串反序列化为一个js对象,通过这两个方法,也可以实现对象的深复制。 但是在序列化JavaScript对象时,所有函数和原型成员会被有意忽略
,这个实现可以满足一些比较简单的情况,能够处理JSON格式所能表示的所有数据类型,同时如果在对象中存在循环应用的情况也无法正确处理。
1 | function deepClone(oldObj){ |
递归拷贝
1 | function deepClone(source){ |