Function.length
length
property 表示該 function 預期被傳入的參數數量
Function.length 的屬性特性 |
|
---|---|
可寫 | 否 |
可列舉 | 否 |
可配置 | 是 |
描述
length
是 function 物件的一個 property,表示該 function 預期被傳入的參數數量,這個數量並不包含 rest parameter (en-US) 且只包涵第一個預設參數(Default Parameters)前的參數。相較之下 arguments.length
(en-US) 是 function 內部的物件,會提供真正傳進 function 中的參數數量。
Function
建構子的 data property
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
規範
Specification |
---|
ECMAScript Language Specification # sec-function-instances-length |
瀏覽器相容性
BCD tables only load in the browser