当我添加'for'时,为什么'setInterval'停止工作?
<script>
var x=0;
setInterval(function() {counter()},1);
function counter()
{
x++;
}
for(var start=0; start <= 100; start++)
{
alert("x is "+x+" and start is "+start);
}
</script>
Run Code Online (Sandbox Code Playgroud)
由于Javascript不是(在这种情况下)多线程,你的setInterval基本上意味着"下次主线程没有做任何事情并且超时已经过去,让它执行我的回调".
你的for循环阻塞主线程直到它完成(并且它不会退出,直到它显示101个警报,每个警报等待用户输入)所以你的回调将不会发生,直到for循环结束并且主线程可以去回到"什么都不做".
| 归档时间: |
|
| 查看次数: |
917 次 |
| 最近记录: |