浅拷贝
浅拷贝只复制一层对象的属性,并不包括对象里面的为引用类型的数据
1 | var obj1 = { |
1 | //浅拷贝另外的实现 |
深拷贝
深拷贝是对对象以及对象的所有子对象进行拷贝。
思路就是递归调用刚刚的浅拷贝,把所有属于对象的属性类型都遍历赋给另一个对象即可。
1 | var deepCopy = function(obj) { |
1 | //深拷贝另外的实现,有局限性(对象里无function) |
当其有function时,可参考如下文章 [‘https://juejin.im/entry/5a44ac5cf265da432a7be37e']
参考另一篇更全的文章 [‘https://yanhaijing.com/javascript/2018/10/10/clone-deep/']