怎样理解块级作用域

感情迁移 提交于 2019-11-30 03:37:19

在ES6 之前, JavaScript中有三种作用域: 

1. 全局作用域

2. 函数作用域

3. eval作用域

以上作用域内声明的变量或方法只在当前作用域内有效, 在其他作用域内引用则会返回 undefined;

 

而ES6则新增了一个作用域: 块级作用域

块级作用域可以简单理解为是: 包在大括号{}里面的内容, 它可以自成一个作用域, 但ES5中也有大括号, 可ES5中并没有块级作用域, 这时该怎样判断 {} 是否具有块级作用域的特点?

这时就得用到 letconst

 

因此, 可以将块级作用域理解为: 使用let和const声明的变量, 只在当前大阔号内生效, 由此构建出了 块级作用域 这么个东西.

这里的 "大括号内" 主要指的下面几种情况: 

// 条件语句
if () {}

// switch语句
switch () {}

// for / while循环语句
for () {}
while () {}

// try...catch语句
try () catch (err) {}

// 单大括号
{}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!