天天看點

JS:函數多個參數預設值指定

函數有一個參數時,以往這樣定義(參數為p1):

function mfun(p1){ … } 

當需要為p1設定一個預設值時 

function mfun(p1){

if(p1===undefined) p1=5; //預設值設為5
… } 

當函數需要2個參數時,以前習慣這樣寫

function mfun(p1,p2){…} 

後來發現完全不需要這樣寫,js函數甚至不需要在括弧内預設參數名,可以用一下方式傳入任意多個參數自動适配,當沒有被定義時,這些未被指派參數被調用時值為 undefined

以下例子示範了一個2個參數的js函數

function mFun(){ 

 var p1 = arguments[0] ? arguments[0] : -1; //設定參數p1預設值為-1 

 var p2 = arguments[1] ? arguments[1] : ‘ABC’; //p2預設值 ‘ABC’

以下是一些錯誤示範:

需要2參數,第二個為可選參數時定義

function mFun(p1){...}

function mFun(p1,p2){...}

*這種寫法,mFun(p1)會被下面的函數覆寫掉,當隻傳入一個參數時,p2會提示undefined 

funciton mfun(p1,p2='xxx'){...}

這是php習慣.. =___=b..

再看一個例子:

<a></a>