跳到主要内容

JavaScript 函数的 length 属性详解

length属性返回函数内列出的形式参数的数量。

示例

// 函数定义
function func1(a, b) {}

// 查找func1中的参数数量
console.log(func1.length);

// 输出: 2

length语法

length属性的语法是:

func.length;

这里,func是一个函数。

length参数

length属性不接受任何参数。

length返回值

length属性返回给定函数的形式参数数量。

示例1:使用length属性

// 函数定义
function func() {}

// 查找func()中的参数数量
console.log(func.length);

// 函数定义
function func1(a, b) {}

// 查找func1()中的参数数量
console.log(func1.length);

输出

0;
2;

在上述程序中,我们使用length属性查找func()func1()内的参数数量。

func()没有任何参数,所以func.length返回0func1有两个参数ab,所以func1.length返回2

示例2:带有参数数组的length属性

当函数内列出了参数数组时,length属性返回0。例如:

// 定义一个带有参数数组的函数
function func2(...args) {}

// 查找func2()中的参数数量
console.log(func2.length);

输出

0;

在上述示例中,func2()内列出了参数数组。所以func2.length返回0

示例3:带有默认参数值的length属性

length属性排除剩余参数,只计算第一个带有默认值之前的参数。例如:

// 定义一个带有默认参数的函数
function func3(a, b = 10, c) {}

// 只计算默认值之前的参数
console.log(func3.length);

输出

1;

在上述程序中,func3.length跳过了具有默认值的b和在默认值之后的c。因此,该方法返回1