在JavaScript中,使用大括号{},将多条语句组合在一起,叫做区块(block),与大多数的变成语言不同的是,js的
区块并不会构成单独的作用域,也就是说,区块中的变量与区块外的变量,实际上属于同一个作用域,如下代码:
{
var a=1;
console.log(a);
}
console.log(a);
输出结果: 1
1
上面的代码在区块中定义了一个变量a,赋值为1,我们看到在区块外打印变量a的时候,同样也得到1,变量a依然有效,这说明js中区块并不会构成单独的作用域;实际上与有没有区块的情况没有任何区别,那么区块到底是用在什么地方的呢?实际上,区块往往用来构成例如 for、if、while、function等更加复杂的语法结构