Loading

对JavaScript调用堆栈和setTimeout用法的深入研究

Javascript中会经常用到setTimeout来推迟一个函数的执行,如:setTimeout(function(){alert("Hello World");},1000);会在执行到这句话后延迟1秒钟来弹出alert窗口。那么再看这一段:function a(){ setTimeout(function() {alert(1)}, 0); alert(2); } a();注意这段代码中的setTimeout延迟设为了0,就是延迟0毫秒,貌似是不做任何延迟立刻执行,即1,2。但实际的执行结果确是2,1。为什么?这得从Javascript调用堆栈(call stack)
posted @ 2011-12-14 15:30  jevan  阅读(322)  评论(0编辑  收藏  举报