函数的length属性

length property of functions

本文关键字:属性 length 函数      更新时间:2023-09-26

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

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

如果您不熟悉node,那么>之后的代码就是我键入的,不在那里的就是返回值。所以f['length'] == 0

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

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

示例:

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

在Javascript中,所有函数都具有length属性。它是定义函数时使用的参数数,并且属性是只读的。

因为没有定义任何参数(function() {}(,所以length属性将始终为0

函数的Length属性是函数所需的参数数。

指定函数所需的参数数。

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

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