這裏是修真院前端小課堂,每篇分享文從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
今天的分享就到這裏啦,歡迎你們點贊、轉發、留言、拍磚