有人可以解释为什么在JavaScript中调用fn.length
会返回命名参数fn
的数量吗?
> function fn () { }
> x.length
0
> function fn (a) { }
> x.length
1
> function fn (a,b,c) { }
> x.length
3
非常奇怪的行为。我很想知道为什么会这样。
答案 0 :(得分:5)
length属性指定了期望的参数数量 功能
获取为函数定义的参数数量。
来自ECMAScript 2015 specification:
length属性的值是一个表示的属性 函数预期的典型参数数量。