2019年4月15日 星期一

[Back To Basic] Javascript - Function Parameters

function parameters 特性
  • 不定義資料型態
  • 不檢查傳入參數的型別
  • 不檢查傳入參數的數量
  • 沒傳的參數值: 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),改變物件屬性值時,原本的值也會跟著改變

沒有留言:

張貼留言