首先理解一下函数总的arguments变量,这个变量是函数内部自动生成的,他用来保存传入函数的实参,是一个伪数组。
例:
function fun(a,b){
console.log(arguments);
console.log(a+b);
}
fun(1,2,3);
输出:Arguments(3) 3 。这个Arguments(3) 是一个伪数组包含了传入的1,2,3三个实参和length属性等。因为是一个伪数组所以不能用foreach遍历,也没有数组所拥有的方法。
1.在实参中使用...运算符+变量,可以用该变量来存储没有被形参接收到的参数,这个变量是一个数组。
function fun(a,...value){
console.log(value);
console.log(a);
}
fun(1,2,3);
输出:[2,3] 1
注:在这个用法当中...+变量只能放在作为形参的最后一个参数,放在最后。
2. ...运算符用于数组
var arr = [2,3,4];
var arr1 = [1,5];
console.log(...arr);
var arr2 = [1,...arr,5];
console.log(arr2);
输出:2 3 4 [1,2,3,4,5] 。具体用处自己体会,感觉用处不是很大。haha~