MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Function.length

翻譯不完整。請協助 翻譯此英文文件

length property表示該 function 預期被傳入的參數數量

Property attributes of Function.length
Writable no
Enumerable no
Configurable yes

描述

length 是 function 物件的一個 property,表示該 function 預期被傳入的參數數量,這個數量並不包含 rest parameter 且只包涵第一個預設參數(Default Parameters)前的參數。相較之下 arguments.length 是 function 內部的物件,會提供真正傳進 function 中的參數數量。

Function 建構子的 data property

Function 建構子本身就是一個 Function 物件。其 length data property 的值為 1。此 property 的 attributes 包含: Writable: false, Enumerable: false, Configurable: true.

Function prototype 物件的 property

Function prototype 物件的 length property 其值為 0。

範例

console.log(Function.length); /* 1 */

console.log((function()        {}).length); /* 0 */
console.log((function(a)       {}).length); /* 1 */
console.log((function(a, b)    {}).length); /* 2 以此類推. */

console.log((function(...args) {}).length); /* 0, rest parameter 不包含在內 */

console.log((function(a, b = 1, c) {}).length); /* 1 */
// 只有在預設參數前的參數會被算到,也就是只有 a 會被視為必須傳入的參數
// 而 c 將被預設為 undefined

規範

規範 狀態 註釋
ECMAScript 1st Edition (ECMA-262) Standard 最初的定義,在 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 此 property 的 configurable attribute 現在為 true.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Function.length' in that specification.
Draft  

瀏覽器相容性

特點 Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Configurable: true ? 37 (37) ? ? ?
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Configurable: true ? ? 37.0 (37) ? ? ?

可參閱

文件標籤與貢獻者

 此頁面的貢獻者: CYBAI, lessmind
 最近更新: CYBAI,