for(var i=0;i<3;i++){
setTimeout(function(){
console.log(i);
},0);
}
输出的结果是3个3,因为在主程序中遇到异步事件的时候,会将异步事件放到事件队列里面去,等到主程序执行完之后,在去执行事件队列里面的事件,此时主程序已经执行完,i变为3,由于每次输出都是i的值,所以是3个3
for(var i=0;i<3;i++){
setTimeout(function(){
console.log(i);
},0);
}
输出的结果是3个3,因为在主程序中遇到异步事件的时候,会将异步事件放到事件队列里面去,等到主程序执行完之后,在去执行事件队列里面的事件,此时主程序已经执行完,i变为3,由于每次输出都是i的值,所以是3个3