深入解析 JavaScript 函数的 length 属性与参数默认值的关系

深入解析 JavaScript 函数的 length 属性与参数默认值的关系

在 JavaScript 中,函数的 length 属性表示函数定义时显式指定的、且从第一个没有默认值的参数的个数。

代码语言:javascript复制function f0(a,b,c) {}

function f1(a,b=1,c=2) {}

function f2(a,b=1,c) {}

function f3(a,...args) {}

function f4(a=1,b) {}

console.log(f0.length);//3

console.log(f1.length);//1

console.log(f2.length);//1

console.log(f3.length);//1

console.log(f4.length);//0对于 f0 函数:

它明确指定了三个参数 a、b 和 c,且都没有默认值。所以 f0.length 的值为 3 。对于 f1 函数:

虽然有三个参数,但只有 a 没有默认值,b 和 c 都有默认值。因此 f1.length 为 1 。对于 f2 函数:

从第一个没有默认值的参数,只有 a 没有默认值。故 f2.length 也是 1 。对于 f3 函数:

...args 表示剩余参数,它不计入 length 的计算。只有第一个参数 a 没有默认值。所以 f3.length 为 1 。对于 f4 函数:

从第一个没有默认值的参数开始算,第一个a 有默认值。所以 f4.length 应为 0 。

相关推荐

如指掌:iOS 手势操作指南
28365-365.com

如指掌:iOS 手势操作指南

07-04 👁️ 4607
圆的水果有哪些
他们买球用的365叫什么

圆的水果有哪些

08-04 👁️ 1402
眊的解释
28365-365.com

眊的解释

08-15 👁️ 9202