2013-12-22 2 views
6

このタイトルには何十件もの質問がありますが、私が見つけたすべての答えは、いくつかの具体的なケースでは働いていても、他のものには役立たないハックを挙げているようです。多くは、jQueryのか、Ajaxで懸念している、まだ問題は、JavaScriptが非常に基本的なレベルで生じる純粋である:Uncaught SyntaxError:予想外のトークンリターン - まだ答えがありませんか?

function f() { 
    false || (return true); 
} 

(実行なし)この関数の宣言は、Chromeの

Uncaught SyntaxError: Unexpected token return

をスローし、

SyntaxError: Return statements are only valid inside functions

Safariでただし、この機能はありません:

function f() { 
    false || (a=true); 
    return true; 
} 

誰もこの奇妙な動作を説明できますか?

答えて

3

returnは式ではないが、それは表現想定しているため:あなたはJavaScriptエンジンがそれを評価することができないとして可能ではない表現、として、式の中でreturn文を使用している

function f() { 
    return false || true; 
} 
+0

お返事ありがとうございました。「真実」と評価されることを期待していました。 –

3

を。なぜそれがエラーを投げているのですか?

+0

私は両方の回答を受け入れることができますか? :) –

関連する問題