开发者社区> 大黄有故事> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JavaScript之定时器详解

简介: 1、JS中的定时器有两种:    window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了);    window.
+关注继续查看
1、JS中的定时器有两种:
   window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了);

   window.setInterval([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成,定时器并没有停止,以后每隔[interval]这么长的时间都会重新的执行对应的方法[function],直到我们手动清除定时器为止;

2、JS中的定时器是有返回值的:->返回值是一个数字,代表当前是第几个定时器

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

   var timer2=window.setTimeout(function(){},1000);  //timer2->2 当前是第二个定时器

   window.clearTimeout(timer1); //->把第一个定时器清除掉,这里也可以用

   window.clearInterval(timer1)、window.clearTimeout(1)、window.clearInterval(timer1);

   var timer3=window.setTimeout(function(){},1000);   //timer3->3 当前是第三个定时器 ,虽然上面的定时器timer1清除掉了,但是号还是继续往后排的;

 
3、清除定时器:
   window.clearInterval(timer1)/window.clearTimeout(time1);两种清除方式都可以清除通过setTimeout和setInterval设置的定时器(两种方式在设置定时器的时候有区别,清除定时器的时候没有区别),并且参数不仅可以是timer,还可以是其返回值,例如1,2;需要注意的是,定时器即使清除了,其返回值也不会清除,之后设置的定时器的返回值也会在其返回值的基础上继续向后排,这点类似于银行的排队领号,即使1号的业务办理完了,后边的人仍是从2号开始继续领号,而不是重新从1开始;

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Javascript定时器(三)——setTimeout(func, 0)
setTimeout(func, 0)可以使用在很多地方,拆分循环、模拟事件捕获、页面渲染等
39 0
剑指Offer——1~n整数中1出现的次数(JS实现)
剑指Offer——1~n整数中1出现的次数(JS实现)
67 0
剑指Offer——II. 队列的最大值(JS实现)
剑指Offer——II. 队列的最大值(JS实现)
91 0
剑指Offer——数组中的逆序对(JS实现)
剑指Offer——数组中的逆序对(JS实现)
100 0
剑指Offer——旋转数组的最小数字(JS实现)
剑指Offer——旋转数组的最小数字(JS实现)
88 0
剑指Offer——机器人的运动范围(JS实现)
剑指Offer——机器人的运动范围(JS实现)
77 0
剑指Offer——在排序数组中查找数字I(JS实现)
剑指Offer——在排序数组中查找数字I(JS实现)
56 0
剑指Offer——序列化二叉树(JS实现)
剑指Offer——序列化二叉树(JS实现)
44 0
+关注
大黄有故事
java,算法,编程语言相关技术专家
114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载