首先给一个浅拷贝和深拷贝的样例
var arr = [{name: 'wens'},{age: '26'}]; //原数组
var newArr1 = arr; //浅拷贝
var newArr2 = arr.slice(); //浅拷贝
var newArr3 = arr.concat(); //浅拷贝
var newArr4 = JSON.parse(JSON.stringify(arr)); //深拷贝
arr[0].name = 'leon';
arr[1].age = '27';
console.log(arr);
console.log(newArr1);
console.log(newArr2);
console.log(newArr3);
console.log(newArr4);
输出结果:
从结果可以看出浅拷贝操作的同一块内存
深拷贝会真正的另外开辟一块内存