Function.length

Function.length

length属性指明函数的形参个数。

| Function.length属性的属性特性 |

|:----|

| Writable | no |

| Enumerable | no |

| Configurable | yes |

描述

length 是函数对象的一个属性值,指该函数有多少个必须要传入的参数,即形参的个数。

Function 构造器的属性

Function 构造器本身也是个Function。他的length属性值为 1 。该属性 Writable:false, Enumerable:false, Configurable:true.

Function 原型对象的属性

Function  原型对象的 length 属性值为 0 。

示例

console.log(Function.length /* 1 */ console.log((function() {}).length /* 0 */ console.log((function(a) {}).length /* 1 */ console.log((function(a, b) {}).length /* 2 etc. */ console.log((function(...args) {}).length // 0, rest parameter is not counted console.log((function(a, b = 1, c) {}).length // 1, only parameters before the first one with // a default value is counted

规范

SpecificationStatusComment
ECMAScript 1st Edition (ECMA-262)StandardInitial definition. Implemented in JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)The definition of 'Function.length' in that specification.Standard
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Function.length' in that specification.StandardThe configurable attribute of this property is now true.
ECMAScript Latest Draft (ECMA-262)The definition of 'Function.length' in that specification.Draft

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
Configurable: true??37 (37)???

FeatureAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
Configurable: true???37.0 (37)???