JavaScript定時器setTimeout()和setInterval()詳解
本文實例為大家分享了JavaScript定時器的具體方法,供大家參考,具體內(nèi)容如下
1、 超時調(diào)用setTimeout()
顧名思義,超時調(diào)用的意思就是在一段實際之后調(diào)用(在執(zhí)行代碼之前要等待多少毫秒)
setTimeout()他可以接收兩個參數(shù):
1.要執(zhí)行的代碼或函數(shù)
2.毫秒(在執(zhí)行代碼之前要等待多少毫秒)
function test(){ alert("孫悟空"); } setTimeout(test,2000); //2s后彈出 “孫悟空”
clearTimeout()
clearTimeout,表示清除定時器,可以用它取消未執(zhí)行的調(diào)用
var timmer=function test(){ alert("孫悟空"); } setTimeout(test,2000); //2s后彈出 “孫悟空” clearTimeout(timmer); //取消定時器,因為前者在兩秒后調(diào)用,調(diào)用之前已經(jīng)取消相當(dāng)于什么也沒發(fā)生
2、間歇調(diào)用setInterval()
間歇調(diào)用就是指定的時間內(nèi)不斷地重復(fù)執(zhí)行代碼,大白話就是“一會調(diào)用一次,一會調(diào)用一次”
setInterval()它也接收兩個參數(shù),與前者相同:
1.要執(zhí)行的代碼或函數(shù)
2.毫秒(在執(zhí)行代碼之前要等待多少毫秒)
function test(){ alert("孫悟空"); } setInterval(test,2000); //每隔2s后彈出一次 “孫悟空”
clearInterval()
clearInterval()與clearTimeout()使用方法相同,也是清除定時器方法
var num=0; var max=10; function test(){ num++; if (num==max){ clearInterval(timer); //累加到10時清除清定時器 alert("這里有"+num+"個孫悟空"); //這里有10個孫悟空 } } timer=setInterval(test,500);
在上面的例子中,變量num每隔0.5s遞增一次,當(dāng)遞增到最大值時就會清除先前設(shè)置的定時器(間歇調(diào)用)。
這個模式也可以用超時調(diào)用來實現(xiàn)
var num=0; var max=10; function test(){ num++; if (num<max){ setTimeout(test,500); }else{ alert("這里有"+num+"個孫悟空") } } setTimeout(test,500);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Js中setTimeout()和setInterval() 何時被調(diào)用執(zhí)行的用法
- 精解window.setTimeout()&window.setInterval()使用方式與參數(shù)傳遞問題!
- setInterval()和setTimeout()的用法和區(qū)別示例介紹
- setTimeout()與setInterval()方法區(qū)別介紹
- JavaScript setInterval()與setTimeout()計時器
- JavaScript中定時器setTimeout()和setInterval()的用法
- JavaScript中setInterval()和setTimeout()的用法及區(qū)別
相關(guān)文章
類似php的js數(shù)組的in_array函數(shù)自定義方法
PHP的數(shù)組函數(shù)in_array()非常方便,下面就為大家介紹下自定義類似php的js數(shù)組的in_array函數(shù),具體實現(xiàn)方法如下,感興趣的朋友可以參考下2013-12-12javascript設(shè)計模式 – 職責(zé)鏈模式原理與用法實例分析
這篇文章主要介紹了javascript設(shè)計模式 – 職責(zé)鏈模式,結(jié)合實例形式分析了javascript職責(zé)鏈模式相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04js報錯:Maximum?call?stack?size?exceeded的解決方法
這篇文章主要給大家介紹了關(guān)于js報錯Maximum?call?stack?size?exceeded的解決方法,文中通過實例代碼將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02分享JavaScript監(jiān)聽全部Ajax請求事件的方法
最近在做一個小項目,引入了第三方j(luò)s文件,這個文件會調(diào)用XMLHttpRequest向服務(wù)器發(fā)送 Ajax請求,但是我有需要監(jiān)聽其Ajax請求的某些事件,以便額外地執(zhí)行其他腳本。于是稍微看了看監(jiān)聽 Ajax請求的事件方法,在這里分享給大家。有需要的朋友們可以參考借鑒。2016-08-08