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 引擎就认为不存在块级作用域。

浙公网安备 33010602011771号