本帖最后由 madodo 于 2012-02-15 11:20:06 编辑

解决方案 »

  1.   

    参考参考http://www.w3school.com.cn/htmldom/met_win_settimeout.asp
      

  2.   

    饿 加了setTimeOut就异步执行了,估计是防止阻塞,但看代码那个函数不像会执行缓慢的样子啊,有没有人有其他解释?
      

  3.   

    1、实现javascript的异步;
    正常情况下javascript都是按照顺序执行的。但是我们可能让该语句后面的语句执行完再执行本身,这时就可以用到setTimeout延时0ms来实现了。
    如: 
    alert(1); 
    setTimeout("alert(2)", 0); 
    alert(3); 
    虽然延时了0ms,但是执行顺序为:1,3,2 
    这样就保证setTimeout里面的语句在某一代码段中最后执行。 
    2、在事件中,setTimeout 会在其完成当前任何延宕事件的事件处理器的执行,以及完成文档当前状态更新后,告诉浏览器去启用 setTimeout 内注册的函数。;
     举个例子来说这句话的意思,假如当某个事件在页面上建立一个文本框,并给文本框赋值(完成文档当前状态更新),然后将焦点定到文本框,并且选中文本框的内容(后面部分就需要用到setTimeout 延迟0ms实现,否则不好实现)。