arguments对象的0...n属性用于返回调用当前函数所传入的参数。访问arguments的这些属性类似于访问数组中的元素。
该属性属于arguments对象,每个函数在被调用时,都有一个内置的arguments对象。所有主流浏览器均支持该属性。
## 语法
```
[functionObject.]arguments[ n ]
```
## 参数
| 参数 | 描述 |
| --- | --- |
| n | Number类型传入参数的顺序索引,第一个参数的索引为0。 |
参数n应该是在 0 到 arguments.length-1 范围内的整数。其中,0表示传入的第一个参数,1表示传入的第二个参数……arguments.length-1表示传入的最后一个参数。如果参数n超出该范围,将返回undefined。
## 返回值
0...n的值为任意类型,返回调用当前函数所传入的第n + 1个参数。
由0...n属性返回的值就是传递给正在执行的当前函数的参数值。虽然arguments对象不是数组,但访问组成arguments对象的各个元素的方法与访问数组元素的方法相同。
## 示例&说明
```
function test(){
// 循环输出调用当前函数时传入的参数
for(var n = 0; n < arguments.length; n++){
document.write( arguments[n] + "|");
}
document.write('<br>'); // 输出换行符进行区分
};
test(); // (空字符串)
test("Code", "365mini.com", 12, true); // Code|365mini.com|12|true|
test("张三", false, 12.315); // 张三|false|12.315|
function foo(){
// arguments前也可以加上函数名称
for(var n = 0; n < foo.arguments.length; n++){
document.write( foo.arguments[n] + "|");
}
document.write('<br>');
};
foo("Hello", "World"); // Hello|World|
// 使用arguments对象实现任意多个数的求和
function sum(){
var sum = arguments[0];
for(var n = 1; n < arguments.length; n++){
sum += arguments[n];
}
return sum;
}
document.writeln( sum() ); // undefined
document.writeln( sum( 1, 5 ) ); // 6
document.writeln( sum( 1, 212, 21, -14, 23 ) ); // 243
```