此 IIFE 代码能够访问计数
let count = 0;
(function immediate() {
if (count === 0) {
let count = 1;
console.log(count);
}
console.log(count);
})();
Run Code Online (Sandbox Code Playgroud)
但为什么在这种情况下count是未定义的呢?
var count = 0;
(function immediate() {
if (count === 0) {
var count = 1;
console.log(count);
}
console.log(count);
})();
Run Code Online (Sandbox Code Playgroud)