Arguments 物件

Arguments 物件:

Arguments物件是一個類似於陣列的物件,用來對應於函式的輸入參數。Arguments物件僅能在函式中使用,用來取代原本的函式屬性 Function.arguments。若是在函式外使用此物件會引發錯誤。

取得函式輸入參數個數:

arguments.length

取得函式輸入參數:

arguments[0]

arguments[1]

arguments[2].........

在函式內改變參數:

arguments[0]="new param";

將arguments轉化為陣列:

arguments是個類似陣列的物件,但他不是陣列,所以無法使用陣列方法。不過他可以輕易地轉化為陣列:

var args = Array.prototype.slice.call(arguments);

或是使用陣列的泛型:

var args = Array.slice(arguments);

來自MDN的範例:

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 1); 
  //arguments[0]=separator,從arguments[1]開始轉化為陣列,沒設定結束索引所以會到最尾巴
  return args.join(separator);
}

範例輸出:

// returns "red, orange, blue, "
myConcat(", ", "red", "orange", "blue");

// returns "elephant; giraffe; lion; cheetah; "
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");

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

如果你想更了解其他函式觀念,可以參考看看下面這篇文章:函式 Function

我把許多函式的觀念與用法都收集在這篇文章內。

 
 

  按個讚!~支持本站!~

FB推薦載入中