浏览器不会对特定interval处理程序的多个实例进行队列
由于javascript在执行时,页面渲染的所有更新操作都要暂停,所有利用定时器分解长时间运行的任务,用于提升用户体验。
中央定时器:
1. 每个页面在同一时间只需要运行一个定时器
2. 可以根据需要暂停和恢复定时器
3.删除回调函数的过程变得简单
timers hello
在大多数情况下,是使用闭包来给定时器传递数据的,但现代浏览器(IE9以上),也允许我们在声明定时器的时候传入参数
for(var i =1 ; i< 4; i++){ setTimeout(function(i){console.log(i)},100,i)}for(var i =1 ; i< 4; i++){ (function(i){ setTimeout(function(){console.log(i)},100) })}setTimeout(function runNext(){ console.log("In"); setTimeout(runNext, 10); },10)