Share via


arguments 物件

更新:2007 年 11 月

表示目前執行的函式、該函式的引數和呼叫它的函式的物件。此物件不能明確建構。

屬性

arguments 物件屬性

方法

arguments 物件沒有方法。

需求

1 版

備註

arguments 物件會在每個函式開始執行時執行個體化。只有在與 arguments 物件關聯的函式範圍內,才能直接存取 arguments 物件。

所有傳遞至函式的參數和參數的個數會儲存在 arguments 物件中。arguments 物件不是陣列,但是各個引數是使用 [ ] 標記法來存取的,與陣列元素的存取方法相同。

您可以使用 arguments 物件來建立接受任意引數個數的函式。在定義您的函式時,也可以使用參數陣列語法結構來建立這項功能。如需詳細資訊,請參閱 function 陳述式主題。

注意事項:

以 JScript 預設的快速模式執行時,無法使用 arguments 物件。如果要從命令列編譯使用 arguments 物件的程式時,必須使用 /fast- 關閉快速選項。因為執行緒的問題,在 ASP.NET 中關閉快速選項並不安全。

範例

以下範例說明 arguments 物件的用法。

function argTest(a, b) : String {
   var i : int;
   var s : String = "The argTest function expected ";
   var numargs : int = arguments.length; // Get number of arguments passed.
   var expargs : int = argTest.length;   // Get number of arguments expected.
   if (expargs < 2)
      s += expargs + " argument. ";
   else
      s += expargs + " arguments. ";
   if (numargs < 2)
      s += numargs + " was passed.";
   else
      s += numargs + " were passed.";
   s += "\n"
   for (i =0 ; i < numargs; i++){        // Get argument contents.
      s += "  Arg " + i + " = " + arguments[i] + "\n";
   }
   return(s);                            // Return list of arguments.
}

print(argTest(42));
print(argTest(new Date(1999,8,7),"Sam",Math.PI));

本程式的輸出為:

The argTest function expected 2 arguments. 1 was passed.
  Arg 0 = 42

The argTest function expected 2 arguments. 3 were passed.
  Arg 0 = Tue Sep 7 00:00:00 PDT 1999
  Arg 1 = Sam
  Arg 2 = 3.141592653589793

請參閱

參考

new 運算子

function 陳述式

/fast