当前位置:嗨网首页>书籍在线阅读

05-块作用域

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.4 块作用域

let和const关键字声明的变量名处在块作用域中。回忆第5章的内容:块是由一对花括号括起来的一系列语句。那么,块作用域指的就是那些仅仅在代码块内有效的变量。

console.log('before block');
{
    console.log('inside block');
    const x = 3;
    console.log(x):                        // 打印3
}
console.log('outside block; x=${x}');      // ReferenceError: x 未定义

这里有一个独立的块:块通常是控制流语句的一部分,例如 iffor ,但定义独立的块也是合法的。在块内定义了变量 x ,一旦出了此块, x 就不在作用域内,就会被认为是未定义。

大家可能记得,在第4章中讲到一些独立块的使用,它们可以用来控制作用域(跟在本章中将看到的一样),但这通常是不必要的。不过借助它们来解释作用域的工作原理却非常方便,这就是本章中使用了它们的原因。