4

今日、いくつかのJavascriptスニペットで遊んでいて、このコードが実際に実行されることに気づきました。

{{for(var i = 0; i < 3; i++) {{{{
  alert(i);
}}}}}}

jsFiddleで自分で試すことができます。

なぜこれが構文エラーなしで実行されるのですか?繰り返される括弧はどういう意味ですか?Javascriptは、繰り返される中括弧を無視しますか?

4

3 に答える 3

12

JavaScriptにはブロックスコープ2がないため、新しいブロックが作成されますが、これは事実上役に立たない1です。

1これは美しい撞着語です。
2まだ。

于 2012-06-28T20:20:24.077 に答える
6

{ x++; }ブロックステートメント」です。

{{{ x++; }}}ブロック内のブロック内のブロックです。

各ブロック内のコードが実行されます。したがって、何かの周りに余分なものを追加{}しても、何もしません。

于 2012-06-28T20:21:25.223 に答える
3

括弧内の括弧は、コードのブロックを示したものです。サンプルは次のように拡張できます。

{
    {
        for(var i = 0; i < 3; i++)
        {
            {
                {
                    { 
                        alert(i); 
                    }
                }
            }
        }
    }
} 

これはばかげていますが、問題ありません

于 2012-06-28T20:22:06.747 に答える