深克隆和浅克隆:
- 使用arr1=arr2的语法不会克隆数组
- 浅克隆:只克隆数组的第一层,如果时多维数组,或者数组中的项是其他引用类型值,则不克隆其他层
//浅克隆
var arr1=[1,2,3,4];
var result=[];
for(var i=0;i<arr1.length;i++){
result.push(arr[i]);
}
console.log(result);
console.log(result==arr1);//false
//深克隆
var arr1=[1,2,3,4];
var result=arr1;
arr1.push(5);
console.log(result);//[1,2,3,4,5]
console.log(result==arr1);//true