ES6(3) - 块级作用域
ES5中仅有全局作用域和函数作用域,没有块级作用域,会造成内层变量覆盖外层变量,例如:
<script>
var time = new Date();
function fun(){
console.log(time);
if(false){
var time = "Hello world";
}
};
fun();//undefined
</script>
let实际上为js新增了块级作用域。
<script> console.log("ES5:"); function fun(){ var num = 100; if(true){ var num = 200; }; console.log(num); } fun();//200 </script> <script type="module"> console.log("ES6:"); function fun(){ let num = 100; if(true){ let num = 200; }; console.log(num); } fun();//100 </script>
2) 立即执行函数:
ES5: (function(){}())
ES6:{ }

浙公网安备 33010602011771号