arguments是一个包含传递给函数的参数的类数组对象。既然是类数组对象,它就不是真正的数组,所以除了length属性和索引元素之外,不再有任何与数组相同的属性以及元素。
举个例子:
function fun1(a,b,c) {
... // 此处为代码段
}
参数的个数使用length属性,console.log(arguments.length)——>// 输出为3
arguments[0]——>a;
arguments[1]——>b;
arguments[2]——>c;
arguments中元素的值可以被修改,如arguments[2]='d';
因为javascript规范没有要求传递给函数的参数个数与函数定义的参数个数相等,所以当传入的参数个数不确定时,使用arguments对象很适宜,定义如下函数
function demo() {
... // 代码段
}
demo(); // (arguments.length=0)
demo(A,B); // (arguments.length=2)