MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

arguments 物件的使用

函數的參數是以類似陣列的物件所維護。在函數內部,你可以如下定位傳遞給函數的參數︰

arguments[i]

此處 i 是參數的順序編號,從零開始。因此,第一個傳遞給函數的參數就會是 arguments0。參數的總計數目是由 arguments.length 所指出。

藉由 arguments 物件的使用,你可以使用比函數固定接受的參數還要更多的參數來呼叫函數。這通常會很有用,如果你不能事先知道該把多少個參數傳遞給函數的時候。你可以使用 arguments.length 來得知實際傳給函數的參數的數目,然後使用 arguments 物件來處理每一個參數。

舉例來說,如果有一個函數用來連接若干個字串。對於函數來說,唯一固定的參數就是指出要用哪一個字元來分隔連接項的字串。函數的定義如下︰

function myConcat(separator) {
   var result = ""; // initialize list
   // 循環整份參數
   for (var i = 1; i < arguments.length; i++) {
      result += arguments[i] + separator;
   }
   return result;
}

你可以傳送任意的參數數目給函數,然後他會把每一個參數連接成為〝列表〞字串︰

// 返回 "red, orange, blue, "
myConcat(", ", "red", "orange", "blue");

// 返回 "elephant; giraffe; lion; cheetah; "
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");

// 返回 "sage. basil. oregano. pepper. parsley. "
myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");

參閱 Core JavaScript 參考中的 函數物件 以取得進一步資訊。

JavaScript 1.3 及其早期版本
arguments 物件是 Function 物件的屬性,而且可以在前面加上函數名稱,如下︰

functionName.arguments[i]

文件標籤與貢獻者

 此頁面的貢獻者: fscholz, jackblackevo, irvinfly, teoli, happysadman
 最近更新: jackblackevo,