arguments.length

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

arguments.length 資料屬性包含傳遞給函式的引數數量。

一個非負整數。

arguments.length 的屬性特性
可寫
可列舉
可配置

描述

arguments.length 屬性提供了實際傳遞給函式的引數數量。這可能多於或少於定義的引數數量(請參閱 Function.prototype.length)。例如,對於下面的函式

js
function func1(a, b, c) {
  console.log(arguments.length);
}

func1.length 返回 3,因為 func1 聲明瞭三個形式引數。然而,func1(1, 2, 3, 4, 5) 列印 5,因為 func1 是用五個引數呼叫的。類似地,func1(1) 列印 1,因為 func1 是用一個引數呼叫的。

示例

使用 arguments.length

在這個例子中,我們定義了一個可以把兩個或更多數字相加的函式。

js
function adder(base /*, num1, …, numN */) {
  base = Number(base);
  for (let i = 1; i < arguments.length; i++) {
    base += Number(arguments[i]);
  }
  return base;
}

規範

規範
ECMAScript® 2026 語言規範
# sec-arguments-exotic-objects

瀏覽器相容性

另見