这里是修真院前端小课堂,每篇分享文从javascript
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】html
八个方面深度解析前端知识/技能,本篇分享的是:前端
【 定时器的用法】java
你们好,我是IT修真院北京分院第22期的学员杨纲,一枚正直纯洁善良的WEB前端程序员。git
1.背景介绍程序员
什么是定时器?github
JS提供了一些原生方法来实现延时去执行某一段代码。函数
咱们在JS中通常会使用如下两种定时器编码
setTimeOut( ) setInterval( )视频
setTimeout
暂停指定的毫秒数后执行指定的代码
setInternval
间隔指定的毫秒数不停地执行指定的代码。
2.知识剖析
setInterval
语法:window.setInterval("javascript function",milliseconds);
window.setInterval() 方法能够不使用window前缀,直接使用函数setInterval()。
setInterval() 第一个参数是函数(function),第二个参数间隔的毫秒数。
setTimeout
语法:window.setTimeout("javascript 函数",毫秒数);
setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。
第二个参数指示从当前起多少毫秒后执行第一个参数。
3.常见问题
setInterval屡次调用后执行频率为何愈来愈快?
setInterval() 的运行模式是按照指定的周期(以毫秒计)来调用函数或计算表达式。
这就使得在某个屡次执行或者重复执行事件中建立的setInterval()都会独立的保留下来
4.解决方案
每次调用后清除定时器
window.clearTimeout(int);
window.clearInterval(int)
这两种清除延时的方式,除了语法有区别,清除延时的效果上是等效的,并且不管设置的定时器是哪种 均可以使用以上任意一种清除掉。
5.编码实战
6.扩展思考
当setInterval()的延迟时间设置为0时意味着什么?
7.更多讨论
Q1:在咱们平常工做中,有哪些地方会用到定时器?
Q2:除了前文提到的两种经常使用的定时器,你还接触过哪些定时器的使用?
Q3:在定时器的使用过程当中可能存在哪些问题?
8.参考文献
参考:博客园
课后问答:
问:定时器里为何写的是函数的名字,而不加()。
答:这里要传入一个函数的形参,涉及到一个形参和实参的问题。
ppt连接:https://ptteng.github.io/PPT/...
视频连接:连接:https://pan.baidu.com/s/1jI5k...: wdmq
今天的分享就到这里啦,欢迎你们点赞、转发、留言、拍砖