2012-04-12 11 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) { 
    ... 
    ... 

は次のように呼び出されます:

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

私はこれを行う場合、私はすべての機能を変更する必要がありますその私ができるいくつかの方法を呼び出すかあります:私は今、このようにそれを作るために関数に別のパラメータを追加したいと思います

最初の2つの引数だけで関数が呼び出された場合は、パラメータmceに対して関数のデフォルト値をtrueにしますか?

+0

ようこそStackOverflow。あなたは過去に尋ねられ、答えられた大きな質問をしました。答えはこのページの右の列にある「リンクされた」質問を参照してください。 –

答えて

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の有効な値でない限り動作します。そうだった場合、このコードは常にそれをオーバーライドします。 –

+1

質問が終了したときに、私はより表現力豊かな(そして正直な)解決策を打ち込んでいました。私はこの悪い形を考えて、気にしないでください。 –

+0

答えのステートメント 'mceがコールで提供されている場合は、それを使用します。そうでない場合、デフォルトはtrueです.'は正しくありません。関数の呼び出し元が 'false'を指定した場合、' true'に変更されます。未定義と比較する必要があります。 –

関連する問題