在 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
。