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
规范
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial 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. | Standard | The configurable attribute of this property is now true. |
ECMAScript Latest Draft (ECMA-262)The definition of 'Function.length' in that specification. | Draft | |
浏览器兼容性
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Configurable: true | ? | ? | 37 (37) | ? | ? | ? |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Configurable: true | ? | ? | ? | 37.0 (37) | ? | ? | ? |