我不明白这里发生了什么:
$ node
> var f = function() {};
> f['length'] = '11';
'11'
> f['length']
0
如果您不熟悉节点,>
之后的代码就是我键入的内容,而不存在的内容是返回的值。所以f['length'] == 0
。
答案 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
。