JS中2種定時(shí)器的使用及清除的實(shí)現(xiàn)
一、什么是定時(shí)器?
定時(shí)器就是由JS提供了一些原生方法來(lái)實(shí)現(xiàn)延時(shí)去執(zhí)行某一段代碼。
二、定時(shí)器的分類
1、一次性定時(shí)器:
setTimeout: 設(shè)置一個(gè)定時(shí)器,在定時(shí)器到期后執(zhí)行一次函數(shù)或代碼段
使用方法:var timer=setTimeout(fun,毫秒數(shù))
清除的方法:clearTimeout(timeoutId)
//一次性 var timeoutId = window.setTimeout(fun[, delay, param1, param2, ...]); var timeoutId = window.setTimeout(code[, delay]); //timeoutId: 定時(shí)器ID //fun: 延遲后執(zhí)行的函數(shù) //code: 延遲后執(zhí)行的代碼字符串,不推薦使用原理類似eval() //delay: 延遲的時(shí)間(單位:毫秒),默認(rèn)值為0 //param1,param2: 向延遲函數(shù)傳遞而外的參數(shù),IE9以上支持
2、周期性定時(shí)器:
setInterval: 以固定的時(shí)間間隔重復(fù)調(diào)用一個(gè)函數(shù)或者代碼段
使用方法:var timer=setInterval(fun,毫秒數(shù))
清除的方法:clearInterval(timer)
//周期性 var intervalId = window.setInterval(fun, delay[, param1, param2, ...]); var intervalId = window.setInterval(code, delay); //intervalId: 重復(fù)操作的ID //func: 延遲調(diào)用的函數(shù) //code: 代碼段 //delay: 延遲時(shí)間,沒有默認(rèn)值
三、清除定時(shí)器
由于定時(shí)器在調(diào)用時(shí),都會(huì)返回一個(gè)整形的數(shù)字,該數(shù)字代表定時(shí)器的序號(hào),即第多少個(gè)定時(shí)器,所以定時(shí)器的清除要借助于這個(gè)返回的數(shù)字。
要清除定時(shí)器,就必須在用定時(shí)器的時(shí)候,定義一個(gè)變量來(lái)記錄定時(shí)器的返回值。如下:
//setTimeout 1000ms后執(zhí)行1次 var test1 = setTimeout(function(){ //your codes },1000); //setInterval 每隔1000ms執(zhí)行一次 var test2 = setInterval(function(){ //your codes },1000) //清除Timeout的定時(shí)器,傳入變量名(創(chuàng)建Timeout定時(shí)器時(shí)定義的變量名) clearTimeout(test1); //清除Interval的定時(shí)器,傳入變量名(創(chuàng)建Interval定時(shí)器時(shí)定義的變量名) clearInterval(test2);
注:有時(shí)候在寫的時(shí)候,還會(huì)習(xí)慣將清空的定時(shí)器的變量置空,這樣寫既可以釋放內(nèi)存,也可以便于后邊代碼的判斷。
到此這篇關(guān)于JS中2種定時(shí)器的使用及清除的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)JS 定時(shí)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用JavaScript實(shí)現(xiàn)一個(gè)小程序之99乘法表
這篇文章主要介紹了使用JavaScript實(shí)現(xiàn)一個(gè)小程序之99乘法表的相關(guān)資料,需要的朋友可以參考下2017-09-09一文教你用javascript實(shí)現(xiàn)條形碼和二維碼
這篇文章主要為大家介紹了如何用javascript實(shí)現(xiàn)條形碼和二維碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07JavaScript實(shí)現(xiàn)帶箭頭標(biāo)識(shí)的多級(jí)下拉菜單效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)帶箭頭標(biāo)識(shí)的多級(jí)下拉菜單效果,可實(shí)現(xiàn)橫向與縱向箭頭的形式標(biāo)識(shí)選中菜單項(xiàng)位置的功能,涉及javascript針對(duì)頁(yè)面元素位置的判定與樣式動(dòng)態(tài)操作技巧,需要的朋友可以參考下2015-08-08js實(shí)現(xiàn)瀏覽器倒計(jì)時(shí)跳轉(zhuǎn)頁(yè)面效果
這篇文章主要為大家詳細(xì)介紹了js瀏覽器倒計(jì)時(shí)跳轉(zhuǎn)頁(yè)面效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08js根據(jù)手機(jī)客戶端瀏覽器類型,判斷跳轉(zhuǎn)官網(wǎng)/手機(jī)網(wǎng)站多個(gè)實(shí)例代碼
這篇文章主要介紹了js根據(jù)手機(jī)客戶端瀏覽器類型,判斷跳轉(zhuǎn)官網(wǎng)/手機(jī)網(wǎng)站多個(gè)實(shí)例代碼,需要的朋友可以參考下2016-04-04用js判斷是否為360瀏覽器的實(shí)現(xiàn)代碼
這篇文章主要介紹了用js判斷是否為360瀏覽器的實(shí)現(xiàn)代碼,有時(shí)候我們需要判斷是否為360瀏覽器,包括百度聯(lián)盟后臺(tái)就有這樣的提示需要的朋友可以參考下2015-01-01javascript中innerHTML 獲取或替換html內(nèi)容的實(shí)現(xiàn)代碼
這篇文章主要介紹了javascript中innerHTML 獲取或替換html內(nèi)容,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03