一、块作用域
什么是块作用域?
js作用域中原有全局作用域、函数作用域。在ES6中新增了块级作用域。块作用域由"{}"包括,例如if语句和for语句。
1.var:声明的变量存在于最近的函数或全局作用域中,不受块作用域影响。
如下所示。
<body>
<script>
var i = 99;
for (var i = 0; i < 5; i++) {
console.log(i);
}
console.log(i);
</script>
</body>
因为无函数,因此var所声明的变量i作用于全局作用域,因此最后的输出结果由for循环中定义的i所影响。
let则只作用于块作用域中,因此更改为let则最后输出结果不会影响。
<body>
<script>
var i = 99;
for (let i <