…用途
1.函数的形参 : rest参数 合并参数
arguments 是一个伪数组 不能使用数组的方法。arguments 不能在箭头函数中使用
格式:…变量名 会将剩余参数全部放入到一个数组中
【注意】Rest parameter must be last formal parameter Rest参数必须是最后一个形参。
//需求:对传入的不确定个数的参数进行求和 ES5的写法。
function add(){
let sum = 0;
for(let i =0 ; i < arguments.length;i++){
sum+= arguments[i];
}
return sum;
}
console.log(add(1,3,4,6,10));
//----------------点点点运算符----------------------
function add(...arr,x){ //会报错 Uncaught SyntaxError: Rest parameter must be last formal parameter
arr.push(2);
console.log(arr);
let sum = 0;
for(let i = 0;i <arr.length;i++){
sum+=arr[i];
}
return sum;
}
console.log(add(1,3,4,6,10));
2.函数的实参:扩展运算符 拆分数组和对象
将数组的每一个元素都拆分出来 用逗号分隔
应用:
1.可以用来合并数组
2.将伪数组转为真正的数组
示例
//扩展运算符 拆分数组
var arr = [1,3,4,6,10];
console.log(1,3,4,6,10);
console.log(...arr);
//用扩展运算符合并数组
var arr1 = [1,3,5]
var arr2 = [2,4,6]
var arr = [...arr1,...arr2];
console.log(arr);
//------------------
var arr = arr1.concat(arr2);
console.log(arr);
function add(){
var arr = [...arguments];
console.log(arr);
}
add(1,3,5,7)