- 不定義資料型態
- 不檢查傳入參數的型別
- 不檢查傳入參數的數量
- 沒傳的參數值: undefined
預設值
// ECMAScript 2015
function myFunction(a = 1, b = 2) { }
arguments
function 中內建 arguments 的物件,包含所有傳入參數的資訊
function myFunction(a = 1, b = 2) {
let i = 0;
let sum = 0;
for (i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
- 若傳入參數(arguments)比宣告參數(parameters)還多,可用arguments取得
- 傳值(by value): 改變傳入參數(arguments)時並不會改變傳入前原本的變數值
- 但如果傳入參數(arguments)是物件(object),改變物件屬性值時,原本的值也會跟著改變
沒有留言:
張貼留言