iteye_3775 2010-06-30 13:58
浏览 244
已采纳

谁能帮我看看下面这段JavaScript代码是怎样执行的,为什么会那样?

代码如下:
[code="JavaScript"]
setTimeout("alert('setTimeout');",0);
alert("starting");
//执行结果如下:
//starting
// setTimeout
[/code]

为什么会这样执行?

  • 写回答

1条回答 默认 最新

  • kjah_1 2010-06-30 14:15
    关注

    js是单线程的,由于setTimeout中的方法不在当前堆栈中,要等当前堆栈的方法执行完毕才会执行
    通过延长setTimeout后程序执行时间可以观察

    <!-- setTimeout("alert('setTimeout');",0); for(var i=0;i<10;i++){ alert("starting"); }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?