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


