setTimeOut()
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式
function start(){
xxx
setTimeOut( "start()",1000) //每隔1秒调用一次start函数
}
参数:
第一个参数是需要回调的函数,必须传入的参数,第二个参数是时间间隔,毫秒数,可以省略。从第三个参数开始,依次用来表示传入回调函数的参数。
setTimeOut()
IE 9.0及以下版本,只允许setTimeout有两个参数,不支持更多的参数
如果想向回调函数传参,可以用bind(参数,参数)。
清除定时器:
clearTimeout():
setTimeout函数,返回一个表示计数器编号的整数值,将该整数传入clearTimeout函数,就可以取消对应的定时器。
var id1 = setTimeout(f,1000); //id1就是timeoutID clearTimeout(id1);
setTimeout()之延迟时间为0
栗子
console.log('a'); setTimeout(function(){ console.log('b'); },0); console.log('c'); console.log('d');
控制台输出:
a
c
d
b
理论上他延迟时间为0不是应该马上执行吗,不是的。因为setTimeout运行机制说过,必须要等到当前脚本的同步任务和“任务队列”中已有的事件,全部处理完以后,才会执行setTimeout指定的任务。也就是说,setTimeout的真正作用是,在“任务队列”的现有事件的后面再添加一个事件,规定在指定时间执行某段代码。setTimeout添加的事件,会在下一次Event Loop执行。