数组的浅拷贝:
var arr = [1,2,3];
var newArr = arr;
newArr[0] = 4;
console.log(arr + ‘##’ + newArr); //输出[4,2,3]和[4,2,3]
解释:这种方式实际上只是新数组对原数组的一个引用,更改数组元素会对原数组产生影响,称为浅拷贝(也就是C语言中的按址传递,arr和newArr都是保存的同一个数组地址)
数组的深拷贝:
最简单的方式
JSON.stringify()之后再JSON.parse();
示例:
var arr = [1,2,3];
var newArr = JSON.parse(JSON.stringify(arr));
newArr[0] = 4;
console.log(arr + ‘##’ + newArr); //输出[1,2,3]和[4,2,3]
解释:无须解释!!!