JS之延時器和定時器執(zhí)行示例詳解
1. 延時器setTimeout:延時執(zhí)行一次
- setTimeout("function",time) 設(shè)置一個超時對象 ,該方法接收一個id表示一個定時器
var timer1 = setTimeout(function(){},1000); //timer1->1 (當(dāng)前是第一個定時器)
- clearTimeout(對象) 清除已設(shè)置的setTimeout對象 :由 setTimeout() 返回的 ID 值可用作 clearInterval() 方法的參數(shù)
clearTimeout(timer1); //清除定時器
或
clearTimeout(1); //清除第一個定時器
- setTimeout使一段代碼在指定時間后運行,僅運行一次
2. 定時器setInterval:定時重復(fù)執(zhí)行
- setInterval("function",time) 設(shè)置一個超時對象,該方法返回一個id表示一個定時器
var timer2 = setInterval(function(){},1000); //timer2->2 (當(dāng)前是第二個定時器)
- clearInterval(對象) 清除已設(shè)置的setInterval對象:由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數(shù)
clearInterval(timer2);//清除定時器
或
clearInterval(2);//清除第二個定時器
- setInterval使一段代碼每過指定時間就運行一次,自動重復(fù)
總結(jié):
兩種方法根據(jù)不同的場景和業(yè)務(wù)需求擇而取之,一般情況下setTimeout用于延遲執(zhí)行某方法或功能,
setInterval則一般用于刷新表單,對于一些表單的假實時指定時間刷新同步。
setInterval會產(chǎn)生回調(diào)堆積,特別是時間很短的時候,一般不用setInterval,而用setTimeout的延時遞歸來代替interval。
很多人習(xí)慣于將setTimeout包含于被執(zhí)行函數(shù)中,然后在函數(shù)外再次使用setTimeout來達到定時執(zhí)行的目的, 這樣,函數(shù)外的setTimeout在執(zhí)行函數(shù)時再次觸發(fā)setTimeout,從而形成周而復(fù)始的定時效果。使用的時候各有各的優(yōu)勢,使用setInterval,需要手動停止。而使用方法中嵌套setTimeout,可以根據(jù)方法內(nèi)部本身的邏輯不再調(diào)用setTimeout就等于停止了觸發(fā)。其實兩個東西完全可以相互模擬,具體使用那個,看當(dāng)時的需要而定了。
示例:
var intervalId = setInterval(function(){ console.log("love"); },1000); setTimeout(function(){ console.log("yaya"); clearInterval(intervalId); },5000); console.log("yang");
運行結(jié)果:
> "yang"
> "love"
> "love"
> "love"
> "love"
> "love"
> "yaya"
或
> "yang"
> "love"
> "love"
> "love"
> "love"
> "yaya"
以上就是JS之延時器和定時器執(zhí)行示例詳解的詳細內(nèi)容,更多關(guān)于JS延時器定時器的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Jquery調(diào)用iframe父頁面中的元素及方法
對于javascript操作iframe父級頁面元素的方法,大家應(yīng)該都非常清楚了,下面結(jié)合當(dāng)前非常流行的jquery分享一下如何使用jquery查找和操作iframe父級頁面元素的實現(xiàn)代碼。2016-08-08微信小程序中使用自定義字體的實現(xiàn)與體驗優(yōu)化
由于微信支持的字體非常有限,不能滿足個性化的需求,因此在開發(fā)的過程中可能會需要使用自定義字體,下面這篇文章主要給大家介紹了關(guān)于微信小程序中使用自定義字體的實現(xiàn)與體驗優(yōu)化的相關(guān)資料,需要的朋友可以參考下2022-02-02微信/支付寶小程序?qū)崿F(xiàn)彈窗動畫縮放到某個位置的示例代碼
本文詳細介紹了如何使用HTML、CSS和JavaScript實現(xiàn)動畫函數(shù),包括參數(shù)設(shè)置和動畫過程中的狀態(tài)管理,文章還涉及了如何獲取DOM元素、設(shè)置動畫開始和結(jié)束的回調(diào)函數(shù),感興趣的朋友跟隨小編一起看看吧2024-10-10使用layui實現(xiàn)樹形結(jié)構(gòu)的方法
今天小編就為大家分享一篇使用layui實現(xiàn)樹形結(jié)構(gòu)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JS Excel讀取和寫入操作(模板操作)實現(xiàn)代碼
前一段時間一直在做報表,所以肯定會用到Excel的操作,但是在網(wǎng)上查閱資料有關(guān)JS操作excel較少,有的話,也都是老生常談或很零碎的一些東西。2010-04-04如何基于filter實現(xiàn)網(wǎng)站整體變灰功能
這篇文章主要介紹了如何基于filter實現(xiàn)網(wǎng)站整體變灰功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04javascript判斷是手機還是電腦訪問網(wǎng)頁的簡單實例分享
在智能手機越來越普及甚至是泛濫的時候,確實給大家的生活帶來了很大的方便,但是對于web前端設(shè)計師來說,可就麻煩多了,現(xiàn)在很多的網(wǎng)站在制作過程中都要考慮到手機訪問的問題,那么我們?nèi)绾蝸砼袛嗫蛻舳耸遣皇鞘謾C呢,下面分享個例子吧2014-06-06深入學(xué)習(xí)JavaScript中的promise
這篇文章主要介紹了深入學(xué)習(xí)JavaScript中的promise,Promise對象的主要?途是通過鏈式調(diào)?的結(jié)構(gòu),將原本回調(diào)嵌套的異步處理流程,轉(zhuǎn)化成“對象.then().then()...”的鏈式結(jié)構(gòu)2022-06-06