1.傳遞 基本數據類型中,傳遞的是值 引用數據類型中,傳遞的是在堆中的地址 基本數據類型中,傳遞的是值 引用數據類型中,傳遞的是在堆中的地址 基本數據類型:改變複製的值,不影響原值 引用數據類型:改變複製的值,會影響原值(淺複製) 引用數據類型:改變複製的值,不影響原值(深複製) for迴圈拷貝數組 ...
1.傳遞
-
基本數據類型中,傳遞的是值
-
引用數據類型中,傳遞的是在堆中的地址
2.複製
基本數據類型:改變複製的值,不影響原值
var a = 10;
var b = a;//var b = 10
b = 30;
console.log(a,b);//10,30
引用數據類型:改變複製的值,會影響原值(淺複製)
var arr = [10,20,30];
var brr = arr;
brr[0] = 66;
console.log(arr,brr);//[66,20,30][66,20,30]
引用數據類型:改變複製的值,不影響原值(深複製)
-
for迴圈拷貝數組的每一項
-
slice(0)
var arr = [10,20,30];
// var res = [];
// for(var i=0;i<arr.length;i++){
// res.push(arr[i]);
// }
// console.log(res);//10,20,30
// res[0] = 40;
// console.log(arr,res);
//=======================================
var res = arr.slice(0);
res[0] = 40;
console.log(arr,res);