arguments:对象访问参数数组。
Javascript函数不介意传递进来多少个参数,也不管传递进来的参数是什么数据类型。
Javascript中的参数内部是用一个数组来表示的,函数接收到的始终都是这个数组,不关心这个数组中有哪些参数(数组中有无数据都可以)。因此,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
在arguments这个数组中arguments[0]代表了函数的第一个参数,arguments[1]代表了函数的第二个参数…注意的是,当arguments[]这个数组里面都的值没有对应函数中的参数的时候,将返回undefined。
例如下列这个例子:
function fun(){
console.log(arguments[0]+"===="+arguments[1]+"===="+arguments[2]);
console.log(arguments.length)
}
fun("第一个参数","第二个参数");
fun("第一个参数");
fun("第一个参数","第二个参数","第三个参数")
得到的结果是:
第一个参数====第二个参数====undefined
2
第一个参数====undefined====undefined
1
第一个参数====第二个参数====第三个参数
3
当我们的函数中有参数的时候,arguments数组中的值永远跟对应参数的值保持一致:
function fun1(name,message){
console.log(arguments[0]+"====="+arguments[1]);
}
fun1("第一个","第二个")
结果:
第一个=====第二个