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 預期被傳入的參數數量

Property attributes of Function.length 的屬性特性
可寫
可列舉
可配置

描述

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。

範例

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® 2025 Language Specification
# sec-function-instances-length

瀏覽器相容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
length
Configurable: true

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

參見