功能:length

Function 实例的 length 数据属性指示函数期望的参数数量。

¥The length data property of a Function instance indicates the number of parameters expected by the function.

Try it

¥Value

一个号码。

¥A number.

Property attributes of 功能:length
Writable no
Enumerable no
Configurable yes

描述

¥Description

Function 对象的 length 属性指示函数需要多少个参数,即形式参数的数量。该数字不包括 rest parameter,并且仅包括第一个具有默认值的参数之前的参数。相比之下,arguments.length 是函数的本地函数,提供实际传递给函数的参数数量。

¥A Function object's length property indicates how many arguments the function expects, i.e. the number of formal parameters. This number excludes the rest parameter and only includes parameters before the first one with a default value. By contrast, arguments.length is local to a function and provides the number of arguments actually passed to the function.

Function 构造函数本身就是一个 Function 对象。其 length 数据属性的值为 1

¥The Function constructor is itself a Function object. Its length data property has a value of 1.

由于历史原因,Function.prototype 本身就是一个可调用的。Function.prototypelength 属性的值为 0

¥Due to historical reasons, Function.prototype is a callable itself. The length property of Function.prototype has a value of 0.

示例

¥Examples

使用函数长度

¥Using function length

js
console.log(Function.length); // 1

console.log((() => {}).length); // 0
console.log(((a) => {}).length); // 1
console.log(((a, b) => {}).length); // 2 etc.

console.log(((...args) => {}).length);
// 0, rest parameter is not counted

console.log(((a, b = 1, c) => {}).length);
// 1, only parameters before the first one with
// a default value are counted

规范

Specification
ECMAScript Language Specification
# sec-function-instances-length

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看

¥See also