我正在阅读 Airbnb 的 JavaScript 风格指南(https://github.com/airbnb/javascript)。
第 2.2 节解释了 let 是块级作用域,而不像 var 是函数级作用域。
第 2.2 节解释了 let 是块级作用域,而不像 var 是函数级作用域。
// bad
var count = 1;
if (true) {
count += 1;
}
// good, use the let.
let count = 1;
if (true) {
count += 1;
}
我不理解为什么第一个是不好的做法,第二个是不好的做法,如果let和var都是块级作用域,使用其中任意一个有何区别?
另外,函数作用域和块级作用域有什么区别?