setTimeout原来有这种用途

setTimeout有两个参数,第一个是需要执行的函数,第二个是将该函数推入UI队列的时间。

需要注意的两点:

1、第二个参数中设置的时间,是从执行setTimeout开始计算,而不是从整个函数执行完开始计算

2、推入到UI队列中该函数也不是立即执行,而是要等到队列里的其它函数执行完成之后再执行。

 

setTimeout的用途:

1、复位所有的浏览器限制,如:长运行脚本时间;调用栈。可以作为长运行脚本时间和栈溢出的跨浏览器解决方案。

2、由于UI更新和js执行只能交替进行,为了不阻碍用户操作,可以通过setTimeout让出js的执行而进行UI的更新。

 

定时器的精度:

1、定时器在浏览器中并不是精确计算的,会有几毫秒的误差,因此不可用来测量时间。

2、window系统的定时器分辨率是15ms,因此在浏览器中设置定时器时,最好不要小于15ms

posted @ 2013-10-27 10:39  charling  阅读(493)  评论(0编辑  收藏  举报