如果想要实现为函数传入多个参数,那么可以使用arguments
对象,例如
function foo(){
for(let num of arguments){
console.log(num);
}
}
foo(1,2,3);
/*
1
2
3
*/
可是我们都知道arguments
只是一个类似数组的对象而并不是数组,所以如果我们想使用一些数组上的方法例如sort
方法就很不方便。
ES6中新增加了rest
参数(形式为...变量名
)。所谓的rest
,顾名思义就是获取剩余的参数,函数中所有多余的参数都会放进数组中然后赋值给这个rest
参数。
function foo(...args){
console.log(args);
}
foo(1,2,3,4,5,6); //[1,2,3,4,5,6]
需要注意的是,由于是获取“剩余”的参数,也就是说rest
参数后面不允许再有其他的参数,否则就会报错。