在 JavaScript 中,arguments
是一个类数组对象,它代表了函数调用时传递给函数的参数集合。即使函数没有定义形式参数,arguments
对象也会在函数内部自动创建并可用。
arguments
对象具有以下特性:
-
类数组对象:
arguments
对象类似于数组,但它并非是一个真正的数组,它具有数值索引和length
属性,但不具备数组的方法,如push()
、pop()
等。 -
包含传递的参数:
arguments
对象包含了函数被调用时传递的所有参数,可以通过索引访问这些参数。第一个参数可以通过arguments[0]
、第二个参数可以通过arguments[1]
,依此类推。 -
动态性:
arguments
对象是动态的,即使在函数定义时没有明确指定参数,也可以通过arguments
获取到传递给函数的参数值。 -
不适用于箭头函数: 箭头函数不支持
arguments
对象。
示例:
function sum() {
let total = 0;
for (let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
console.log(sum(1, 2, 3)); // 输出:6
尽管现代 JavaScript 推荐使用 rest 参数(...args
)或展开运算符来处理函数参数,但 arguments
对象仍然是在一些旧代码和特定场景中有用的工具,它提供了一种获取传递给函数的参数的方法。
Was this helpful?
0 / 0