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执行。


 

 

 

 

 

 


 

posted @ 2019-07-10 16:36  第101次弃游  Views(372)  Comments(0Edit  收藏  举报