今日、いくつかのJavascriptスニペットで遊んでいて、このコードが実際に実行されることに気づきました。
{{for(var i = 0; i < 3; i++) {{{{
alert(i);
}}}}}}
jsFiddleで自分で試すことができます。
なぜこれが構文エラーなしで実行されるのですか?繰り返される括弧はどういう意味ですか?Javascriptは、繰り返される中括弧を無視しますか?
今日、いくつかのJavascriptスニペットで遊んでいて、このコードが実際に実行されることに気づきました。
{{for(var i = 0; i < 3; i++) {{{{
alert(i);
}}}}}}
jsFiddleで自分で試すことができます。
なぜこれが構文エラーなしで実行されるのですか?繰り返される括弧はどういう意味ですか?Javascriptは、繰り返される中括弧を無視しますか?
JavaScriptにはブロックスコープ2がないため、新しいブロックが作成されますが、これは事実上役に立たない1です。
1これは美しい撞着語です。
2まだ。
{ x++; }
「ブロックステートメント」です。
{{{ x++; }}}
ブロック内のブロック内のブロックです。
各ブロック内のコードが実行されます。したがって、何かの周りに余分なものを追加{}
しても、何もしません。
括弧内の括弧は、コードのブロックを示したものです。サンプルは次のように拡張できます。
{
{
for(var i = 0; i < 3; i++)
{
{
{
{
alert(i);
}
}
}
}
}
}
これはばかげていますが、問題ありません