es6 物件擴充套件運算子 res運算子
當我們對引數的個數不確定時,可以用物件拓展運算子
funtion lala(...arg){
console.log(arg[0]); 1
console.log(arg[1]); 2
console.log(arg[2]); 3
console.log(arg[3]); undefined
}
lala(1,2,3);
let arr1 = ['aaa','lala','con'];
let arr2 = arr1;
console.log(arr2); ['aaa','lala','con'];
arr2.push('chengdu');
console.log(arr1) ['aaa','lala','con','chengdu'];
引用導致.我們不想改變arr1
可用物件擴充套件符來實現
let arr1 = ['aaa','lala','con'];
let arr2 = [...arr1]; //把arr1陣列的每個元素給arr2
console.log(arr2); ['aaa','lala','con'];
arr2.push('chengdu');
console.log(arr2); ['aaa','lala','con','chengdu'];
console.log(arr1) ['aaa','lala','con']; //達到目的,沒有改變arr1 ,
rest運算子
rest 剩餘的意思 就是剩餘的引數
function lalaJs(first,...arg){
console.log(arg.length); 5
}
lalaJs(1,2,3,4,5,6);
function lalaJs(first,...arg){
for(let i = 0; i<arg.length;i++){
console.log(arg[i]); 2,3,4,5,6
}
這中迴圈 影響效率 有更好的是用for of 來寫迴圈
for(let val of arg){
console.log(val); 2 3 4 5 6
}
}
lalaJs(1,2,3,4,5,6);