为什么在JavaScript中调用`fn.length`会返回命令参数`fn`的数量?

时间:2015-10-28 03:01:49

标签: javascript

有人可以解释为什么在JavaScript中调用fn.length会返回命名参数fn的数量吗?

> function fn () { }
> x.length
0

> function fn (a) { }
> x.length
1

> function fn (a,b,c) { }
> x.length
3

非常奇怪的行为。我很想知道为什么会这样。

1 个答案:

答案 0 :(得分:5)

来自MDN's documentation

  

length属性指定了期望的参数数量   功能

来自Microsoft's documentation

  

获取为函数定义的参数数量。

来自ECMAScript 2015 specification

  

length属性的值是一个表示的属性   函数预期的典型参数数量。