函數有一個參數時,以往這樣定義(參數為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>