ES6的块级作用域

ES6的块级作用域

let 为 JavaScript 新增了块级作用域,外层作用域无法获取到内层作用域,这样非常安全。即使外层和内层都使用相同变量名,也都互不干扰。

例如:

 

 1 function test() {
 2     let a = 1;
 3     if(true){
 4       let a = 10;
 5       console.log(a);  // 输出:10
 6     }
 7     console.log(a);   // 输出:1
 8 }
 9 
10 test();  // 调用函数

 

块级作用域与函数声明

块级作用域,允许函数可以在块级作用域中声明。在块级作用域之外不可引用。

例如:

1 {
2     function fn(){
3         console.log('块级函数');
4     }
5 }
6 fn();  //正常访问

使用函数表达式来写

1 {
2     let fn=function(){
3         console.log("块级函数")
4     };
5     fn();
6 }

PS: ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在块级作用域。

 

posted @ 2021-11-24 17:33  .Nice  阅读(92)  评论(0)    收藏  举报