機能(){ リターン{ 1 "バー" } } ()
返回:{バー:1}
関数B(){ リターン { "バー":1 } } 、B() 报错:キャッチされないでSyntaxError:予期しないトークン:
原理:
代わりに、次の行の先頭の行の末尾に括弧{は、JavaScriptのreturn文でひどい設計ミスを回避するため。
プログラムに欠陥がある場合は、セミコロンは自動的に完了したことを挿入されているが、このメカニズムは非常にトリッキーであることが多いいくつかのミスをカバー、 - javascriptの回復メカニズムがあります。
例えば:
{戻り
こんにちは「世界」;
};
オブジェクトリテラル構成を理解される通常のリターン。
しかし、そう書かれている場合:
戻り値
{
こんにちは:「世界」
};
JavaScriptの本会議は、自動的に上記のコードを記入しますが次のようになります。
返す;
{
こんにちは:「世界」
};
実際には警告なし未定義、このようなエラーを返します。