0

javascriptの場合の長い手は次のようになります。

function somefunction(param){

    if(typeof(param) != 'undefined'){
           var somevar = param;
         } else {

           alert('ERROR: missing parameter in somefunction. Check your form'); 
           return;

         }

}

そして私の速記バージョンは:

function somefunction(param){

    param = typeof(param) != 'undefined' ? param : function(){alert('ERROR: missing parameter in somefunction. Check your form'); return;}

}

しかし、それは機能しません。

どうすればいいですか?

ありがとうございました

4

1 に答える 1

3

関数を宣言しているだけです。あなたはそれを実行しなければなりません。定義の横に()を追加します。

function somefunction(param){
    param = typeof(param) != 'undefined' ?
                param :
                function() {
                    alert('ERROR: missing parameter in somefunction. Check your form'); 
                    return false;
                }();
}

編集:関数自体は何も返さず、関数の実行を終了しないため、上記は元の関数と機能的に同等ではありません。

function somefunction(param) {
    if (typeof(param) == 'undefined') {
        alert('ERROR: missing parameter in somefunction. Check your form'); 
        return false;
    }

    // Use param
}
于 2011-11-10T21:54:23.690 に答える