2012-04-12 31 views
-2

可能重複:
Is there a better way to do optional function parameters in Javascript?
How do I make a default value for a parameter to a javascript functionJavaScript是否允許使用默認參數?

我有以下功能:

function gridClick(link, action) { 
    ... 
    ... 

這樣調用:

gridClick(this, action) 

我現在想另一個參數添加到功能,使這樣的:

function gridClick(link, action, mce) { 
    ... 
    ... 

如果我這樣做,那麼我就需要改變所有的函數調用或者是有一些辦法,我可以如果只用前兩個參數調用函數,那麼函數默認爲參數mce的值爲true?

+0

歡迎來到StackOverflow。你問了一個很好的問題,過去已經提出並回答過。請參閱本頁右欄的「鏈接」問題以獲得答案。 – 2012-04-12 13:56:42

回答

1

我一直只是做到了這一點在函數體:

mce = (mce === undefined) ? true : mce; 
// Alternately 
mce = (mce !== undefined) ? mce : true; 
// Or even 
mce = (typeof mce === "undefined") ? true : mce; 
// Above alteration applies here too. 
mce = (typeof mce !== "undefined") ? mce: true; 

如果MCE已經在電話中提供,使用它。如果不是,則默認爲true。

+1

只要false不是mce的有效值,就會工作。如果是這樣,這段代碼總是會覆蓋它。 – 2012-04-12 13:55:51

+1

當問題關閉時,我打出了更具表現力(坦率而正確)的解決方案。我會考慮這種糟糕的形式,不要介意。 – 2012-04-12 13:58:19

+0

答案的陳述:「如果在呼叫中提供了mce,請使用它。如果不是,則默認爲true.'不正確。如果函數的調用者提供了'false',它將被改爲'true'。需要與undefined進行比較。 – 2012-04-12 13:59:21

相關問題