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