arguments 是一个对应于传递给函数的参数的类数组对象。
例:**
function func1(a, b, c) {
console.log(arguments[0]);
// expected output: 1
console.log(arguments[1]);
// expected output: 2
console.log(arguments[2]);
// expected output: 3
}
func1(1, 2, 3);
arguments对象是所有(非箭头)函数中都可用的局部变量。
你可以使用arguments对象在函数中引用函数的参数。
例:
arguments[0]
arguments[1]
arguments[2]
另外,你也可以设置参数
arguments[1] = 'new value';
arguments对象不是一个 Array 。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。
但是,arguments可以被转换为一个真正的Array
例:
var args = Array.from(arguments);
var args = [...arguments];
使用arguments.length
例:这个例中,我们定义了一个可以相加任意个数字的函数.
function adder(base, /*, n2, ... */) {
base = Number(base);
for (var i = 0; i < arguments.length; i++) {
base += Number(arguments[i]);
}
return base;
}