arguments.length
arguments.length 数据属性包含传递给函数的参数数量。
值
一个非负整数。
arguments.length 的属性特性 | |
|---|---|
| 可写 | 是 |
| 可枚举 | 否 |
| 可配置 | 是 |
描述
arguments.length 属性提供了实际传递给函数的参数数量。这可能多于或少于定义的参数数量(请参阅 Function.prototype.length)。例如,对于下面的函数
js
function func1(a, b, c) {
console.log(arguments.length);
}
func1.length 返回 3,因为 func1 声明了三个形式参数。然而,func1(1, 2, 3, 4, 5) 打印 5,因为 func1 是用五个参数调用的。类似地,func1(1) 打印 1,因为 func1 是用一个参数调用的。
示例
使用 arguments.length
在这个例子中,我们定义了一个可以把两个或更多数字相加的函数。
js
function adder(base /*, num1, …, numN */) {
base = Number(base);
for (let i = 1; i < arguments.length; i++) {
base += Number(arguments[i]);
}
return base;
}
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-arguments-exotic-objects |
浏览器兼容性
加载中…