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 语言规范
# sec-arguments-exotic-objects

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅