var的作用域提升
if(true){ var a=1;}
if(true){ let b=2;}
if(false){ var c = 3;}
console.log(a); // 输出:1
console.log(b); // 输出:b is not defined
console.log(c); // 输出:undefined
for (var i = 0; i < 10; i++) {
setTimeout(()=>{
console.log(i);
}, 100 );
}
// 输出10次10;因为console.log(i)的i是for循环的i
for (let i = 0; i < 10; i++) {
setTimeout(()=>{
console.log(i);
}, 100 );
}
// 输出0,1,2,3,4,5,6,7,8,9
网友评论