//let
声明块级变量
//let实例:
for (let i = 0; i < 3; i++) {
setTimeout(function(){
console.log(i); //用let声明一个块级作用域的本地变量i,可正常输出
},500);
};
//var
声明的变量作用域不是块级的,会扩大变量的作用域,可能造成不必要的 shadow(变量覆盖),通常情况下都不是想要的结果。
//var实例:
for (var i = 0; i < 3; i++) {
setTimeout(function(){
console.log(i); //每次执行的都是i的最后一个值3
},500);
};