Function.length
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
length
property 表示該 function 預期被傳入的參數數量
Function.length 的屬性特性 |
|
---|---|
可寫 | 否 |
可列舉 | 否 |
可配置 | 是 |
描述
length
是 function 物件的一個 property,表示該 function 預期被傳入的參數數量,這個數量並不包含 rest parameter 且只包涵第一個預設參數(Default Parameters)前的參數。相較之下 arguments.length
是 function 內部的物件,會提供真正傳進 function 中的參數數量。
Function
建構子的 data property
Function
prototype 物件的 property
Function
prototype 物件的 length property 其值為 0。
範例
js
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
規範
Specification |
---|
ECMAScript Language Specification # sec-function-instances-length |
瀏覽器相容性
BCD tables only load in the browser