- 在每个函数中,都有一个名为
arguments
的对象可供使用。 - 每当函数被调用时,都可以通过变量
arguments
来查看传入函数的参数 - 对象arguments包含传递给函数的所有实参,可像使用数组那样使用它(arguments与数组仅在这方面相似,它实际上是一个对象)
通过使用arguments,你可创建这样的函数:接受数量可变的实参,并根据传入的实参数量执行不同的操作。
演示如何使用arguments的代码:
function printArgs(){//打印传入的参数(数量可变)
for (var i=0;i<arguements.length;i++){
console.log(arguements[i]);
}
}
printArgs("one",2,1+2)//输出one 2 3
也可以同时在一个函数中同时使用形参和对象arguements,从而编写实参数量可变得函数(且根据传入参数数量不同,进行不同的操作)
function print(state){//打印传入的参数(数量可变)
if(state==="silence"){
console.log("Tom sits in silence");
}
else if(state=="says"){
console.log("Tom says: '"+arguements[1]:"'");
}
}
print("silence")//输出"Tom sits in silence"
print("says","Stand back!")//输出"Tom says: 'Stand back!'"