使用try创建块级作用域

Posted boses

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用try创建块级作用域相关的知识,希望对你有一定的参考价值。

这个只作为了解,不推荐使用,最大的有点就是在ECMAScript3就存在了。

ES6已经新增了let命令,实际上为我们添加了块级作用域,在ES5之前是没有的,不过可以使用这种方法来实现。

比如下面这个例子,

ES6是这样写的

{
    let a = 20;
    console.log(a);
}
console.log(a);

这里最后一行代码会报错,因为上面只在{}代码块内有效。

用try实现

 

try {
    throw 20;
} catch (e) {
    console.log(e);
}
console.log(e);

 

不过最后再说一次,推荐使用,第一性能优化差,第二就是可读性不好。

以上是关于使用try创建块级作用域的主要内容,如果未能解决你的问题,请参考以下文章

es6记录之一——块级作用域与函数声明

函数作用域和块级作用域--你不知道的JavaScript

JS的块级作用域

下面JavaScript代码如何理解?块级作用域如何理?

JavaScript语句/对象

0140 JavaScript作用域:概述全局作用域函数作用域块级作用域