1、区别
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。 深拷贝会另外创造一个一模一样的对象,新对象与原对象不共享内存,修改新对象不会改到原对象。
2、实现深拷贝
2.1 递归实现拷贝
2.2 Object.create()
2.3 JSON.parse(JSON.stringify())
2.4 jQuery提供的$.extend
2.5 函数库lodash提供的cloneDeep()
3、实现浅拷贝
3.1 Object.assign()
3.2 Array.prototype.concat()
3.3 Array.prototype.slice()