for(var i=0;i<2;i++){
function a(){
console.log(i)
}
a()
setTimeout(() => {
console.log(i)
},i)
}
/*
预测:
第一步:变量提升 for循环之前a先提升了 var a = function(){console.log(i)}
第二步:for每次执行一次执行一次a 输出 0,1 每次循环给事件注册表注册一个函数 () => {console.log(i)}
第三步:事件到达可执行条件的回调函数会进去事件队列,js执行栈为空了以后,会轮询这个事件队列,事件队列里面的回调函数执行
0,1,2,2
*/