在C/C++中 有argc argv可以传入变长参数给程序。在node有时就会遇到这个需求。
在ES5中可以使用arguments对象了。
在ES6标准中引入了 rest 参数(形式为…变量名),用于获取函数的多余参数。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。非常适合处理变长参数的情况。
PS:rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错。
function paramTest(userid, ...info){
console.info(userid);// C23102
console.info(info); // [ 'test@test.com', '19900020200', 'bob' ]
for (let item of info){
console.info(item); //test@test.com
//19900020200
//bob
}
}
paramTest("C23102", "test@test.com", "19900020200", "bob");