2011-11-10 9 views
0

長針になりますJavaScriptであれば場合:javascriptの速記他のコールバック

function somefunction(param){ 

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

} 

しかし、それは動作しません。

function somefunction(param){ 

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

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

     } 

} 

AND MY SHORT HANDのバージョンです。

どうすればよいですか?

ありがとうございました

+0

なぜあなたはそれをやっていますか? – mattacular

答えて

3

あなたはこの機能を宣言しています。あなたはそれを実行しなければなりません。

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

EDIT ..定義に()は、次の追加:関数自体は何も返さないと機能の実行を終了しないと上記の元と機能的に同等ではありません。

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

    // Use param 
} 
+0

あなたはそれを手に入れました!ありがとう、これは動作します – IberoMedia

+1

しかし、それは元の関数と同じではありません:somefunction()からfalseを返すのではなく、paramをfalseに設定します。 – nnnnnn

+0

@ nx6はい、あなたは正しいです、私はあなたがこれを指摘してうれしいです。私はnewbyであり、 "何かを返す"という意味合いを説明していない。それでも、amit_gの解決策は、私が意図したとおりです。変数を設定するのではなく、警告を出すことに興味があるので、私は質問を編集して、単に返すようにしました。機能のうちに出てきたように、あなたは私に啓示されたコメントを...私は今試合のように感じる – IberoMedia

関連する問題