首页 > 代码库 > 关于JavaScript中注意的点

关于JavaScript中注意的点

看下面代码,给出输出结果。

for(var i=1;i<=3;i++){  setTimeout(function(){      console.log(i);     },0); };

  答案:4 4 4。

原因:Javascript事件处理器在线程空闲之前不会运行。追问,如何让上述代码输出1 2 3?

for(var i=1;i<=3;i++){   setTimeout((function(a){  //改成立即执行函数       console.log(a);      })(i),0); };

  

关于JavaScript中注意的点