Core JavaScript 1.5 Guide:Block Statement
出典: MDC
[編集] ブロック文
ブロック文は文をグループ化するのに用います。ブロックは波括弧のペアで区切ります。
{
statement_1
statement_2
.
.
.
statement_n
}
例
ブロック文は一般に制御フロー文(例:if、for、while)で用いられます。
while (x < 10) {
x++;
}
ここでは { x++; } がブロック文です。
重要:JavaScript にはブロックスコープがありません。ブロックを用いて導入された変数のスコープは、そのブロックがある関数やスクリプトになります。変数をセットする影響はそのブロックを越えて持続されます。つまり、ブロック文はスコープを持ち込まないということです。独立したブロックも構文的には正しいのですが、C や Java のブロックで果たされるような機能を期待しているのであれば、そのような機能は果たされないため、JavaScript で独立したブロックを使う必要はありません。
var x = 1;
{
var x = 2;
}
alert(x); // 2 を出力
ブロック内の var x 文はブロック前の var x 文と同じスコープ内であるため、この例では 2 が出力されます。C や Java では相当のコードは 1 を出力します。