在es5中的var有一些存在的問題,
1:可以重複聲明。
2:不支持常量。
3:沒有塊級作用域的概念
"use strict"
for(var i =0; i< 3; i++){
(function(tmp){
setTimeout(function(){
console.log(tmp)
})
})(i)
}
for(let i = 0;i <3; i++){
setTimeout(function(){
console.log(i)
})
}
var _loop = function _loop(i) {
setTimeout(function () {
console.log(i);
});
};
for (var i = 0; i < 3; i++) {
_loop(i);
}