javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JS延时器定时器

JS之延时器和定时器执行示例详解

作者:瑟闻风倾

这篇文章主要为大家介绍了JS之延时器和定时器执行示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1. 延时器setTimeout:延时执行一次

var timer1 = setTimeout(function(){},1000);  //timer1->1 (当前是第一个定时器)
clearTimeout(timer1); //清除定时器

clearTimeout(1); //清除第一个定时器

2. 定时器setInterval:定时重复执行

var timer2 = setInterval(function(){},1000);  //timer2->2 (当前是第二个定时器)
clearInterval(timer2);//清除定时器

clearInterval(2);//清除第二个定时器

总结:

两种方法根据不同的场景和业务需求择而取之,一般情况下setTimeout用于延迟执行某方法或功能,

setInterval则一般用于刷新表单,对于一些表单的假实时指定时间刷新同步。

setInterval会产生回调堆积,特别是时间很短的时候,一般不用setInterval,而用setTimeout的延时递归来代替interval。

很多人习惯于将setTimeout包含于被执行函数中,然后在函数外再次使用setTimeout来达到定时执行的目的, 这样,函数外的setTimeout在执行函数时再次触发setTimeout,从而形成周而复始的定时效果。使用的时候各有各的优势,使用setInterval,需要手动停止。而使用方法中嵌套setTimeout,可以根据方法内部本身的逻辑不再调用setTimeout就等于停止了触发。其实两个东西完全可以相互模拟,具体使用那个,看当时的需要而定了。

示例:

var intervalId = setInterval(function(){
    console.log("love");
},1000);
setTimeout(function(){
    console.log("yaya");
    clearInterval(intervalId);
},5000);  
console.log("yang");

运行结果:

> "yang"
> "love"
> "love"
> "love"
> "love"
> "love"
> "yaya"

> "yang"
> "love"
> "love"
> "love"
> "love"
> "yaya"

以上就是JS之延时器和定时器执行示例详解的详细内容,更多关于JS延时器定时器的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文