定时器
定时器: 程序按指定的时间间隔自动反复执行一项任务
分类:
周期性定时器: 让程序按照指定时间间隔反复执行同一项任务
1.定义任务函数 function task(){....}
2. 启动定时器timer=setInterval(task,interval);单位为ms
强调:1. 任务函数以回调方式传入定时器,不加()
2. interval指每次执行之间的时间间隔
3. 停止定时器:
1. 用户手动停止: clearInterval(timer)
强调: 停止定时器必须用序号。所以一般启动定时器时多要先获取定时器序号备用。
停止定时器之后,伴随的都是清空timer。timer=null;
2. 自动停止: 在任务函数的结尾,都要判断是否达到临界值。如果达到临界值,就停止定时器。
一次性定时器: 让程序先等待一段时间,然后自动执行一次,执行后,自动停止。
1. function task(){....}
2. 启动定时器: timer=setTimeout(task,wait); 单位ms
3. 停止定时器: 停止等待 clearTimeout(timer)
其实,setInterval/setTimeout的第一个参数,可以是一个字符串格式的js语句。
注意:回调函数中的this默认都只window
回调对列中的函数,必须等到主程序(ECS)中执行完了才能执行。
for(var i=0;i<3;i++){
setTimeout("console.log(i)",0);
} //3,3,3