3

FireFox のブラウザー コンソールでこれをテストしてきましたが、他の JavaScript 環境にこれがあるかどうかはわかりません。

◄ {x:function(){console.log("test");}}["x"]();
► SyntaxError: function statement requires a name

なんで?これはうまくいきます:

◄ ({x:function(){console.log("test");}})["x"]();
► undefined
► "test"

(誰かが疑問に思っている場合に備えて: 私は switch,case,break 構文が本当に嫌いです。私はむしろこの構造を使用したいと思います.)

4

4 に答える 4

5

最初の角かっこは、ブロック ステートメントになります。

セミコロンが挿入されると、最初のものは次のようになります

{
    x : function() { 
        console.log("test");
    }
};
["x"]();
于 2013-11-07T19:44:46.810 に答える