摘要: Javascript中会经常用到setTimeout来推迟一个函数的执行,如:会在执行到这句话后延迟1秒钟来弹出alert窗口。那么再看这一段:注意这段代码中的setTimeout延迟设为了0,就是延迟0毫秒,貌似是不做任何延迟立刻执行,即1,2。但实际的执行结果确是2,1。为什么?这得从Javascript调用堆栈(call stack)和setTimeout的功能说起。首先,JavaScript是单线程的,即同一时间只执行一条代码,所以每一个JavaScript代码执行块会“阻塞”其它异步事件的执行。其次,和其他的编程语言一样,Javascript中的函数调用也是通 阅读全文
posted @ 2009-12-05 22:24 lhgcore.J 阅读(1915) 评论(6) 推荐(3) 编辑