← 返回首页
arguments.length - JavaScript | MDN

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

arguments.length

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

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® 2027 Language Specification
# sec-arguments-exotic-objects

浏览器兼容性

启用 JavaScript 以查看此浏览器兼容性表。

参见