深拷贝和浅拷贝的区别就在于: 深拷贝的对象的改变不会影响原对象的改变, 浅拷贝反之
实现浅拷贝
var obj1= {a: 0}
// 实现浅拷贝
var obj2 = obj1;
obj2.a = 1;
console.log("obj1.a", obj1.a)
console.log("obj2.a", obj2.a)
2、ES6扩展运算符,实现 深拷贝
var obj1= {a: 0}
// 实现深拷贝
var obj3= {...obj1}
obj3.a = 2;
console.log("obj1.a", obj1.a)
console.log("obj3.a", obj3.a)
3、Object.assign() 实现 深拷贝
var obj1= {a: 0}
// 实现深拷贝
// var obj3= {...obj1}
// obj3.a = 2;
// console.log("obj1.a", obj1.a)
// console.log("obj3.a", obj3.a)
// Object.assign()实现深拷贝
var obj4 = Object.assign({}, obj1)
obj4.a = 3;
console.log("obj1.a", obj1.a)
console.log("obj4.a", obj4.a)