函数的长度属性

时间:2011-07-02 19:10:54

标签: javascript node.js

我不明白这里发生了什么:

$ node
> var f = function() {};
> f['length'] = '11';
'11'
> f['length']
0

如果您不熟悉节点,>之后的代码就是我键入的内容,而不存在的内容是返回的值。所以f['length'] == 0

3 个答案:

答案 0 :(得分:2)

在Javascript中,所有函数都具有length属性。它是函数定义的参数数量,属性是只读的。

由于您没有定义任何参数(function() {}),因此length属性始终为0

答案 1 :(得分:2)

函数对象已经有一个名为length的属性,您无法更改它。

length属性是函数定义中的参数数量。

示例:

> var f = function(x) {};
> f.length
1

答案 2 :(得分:1)

函数的Length属性是函数期望的参数个数。

  

指定函数预期的参数数量。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Length

在您的情况下,f不接受任何参数,因此其长度为0