arguments 物件
表示目前執行的函式、該函式的引數和呼叫它的函式的物件。 此物件不能明確建構。
屬性
方法
arguments 物件沒有方法。
需求
備註
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