JS中2種定時器的使用及清除的實現(xiàn)
一、什么是定時器?
定時器就是由JS提供了一些原生方法來實現(xiàn)延時去執(zhí)行某一段代碼。
二、定時器的分類
1、一次性定時器:
setTimeout: 設(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: 定時器ID //fun: 延遲后執(zhí)行的函數(shù) //code: 延遲后執(zhí)行的代碼字符串,不推薦使用原理類似eval() //delay: 延遲的時間(單位:毫秒),默認值為0 //param1,param2: 向延遲函數(shù)傳遞而外的參數(shù),IE9以上支持
2、周期性定時器:
setInterval: 以固定的時間間隔重復(fù)調(diào)用一個函數(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: 延遲時間,沒有默認值
三、清除定時器
由于定時器在調(diào)用時,都會返回一個整形的數(shù)字,該數(shù)字代表定時器的序號,即第多少個定時器,所以定時器的清除要借助于這個返回的數(shù)字。
要清除定時器,就必須在用定時器的時候,定義一個變量來記錄定時器的返回值。如下:
//setTimeout 1000ms后執(zhí)行1次
var test1 = setTimeout(function(){
//your codes
},1000);
//setInterval 每隔1000ms執(zhí)行一次
var test2 = setInterval(function(){
//your codes
},1000)
//清除Timeout的定時器,傳入變量名(創(chuàng)建Timeout定時器時定義的變量名)
clearTimeout(test1);
//清除Interval的定時器,傳入變量名(創(chuàng)建Interval定時器時定義的變量名)
clearInterval(test2);注:有時候在寫的時候,還會習(xí)慣將清空的定時器的變量置空,這樣寫既可以釋放內(nèi)存,也可以便于后邊代碼的判斷。
到此這篇關(guān)于JS中2種定時器的使用及清除的實現(xiàn)的文章就介紹到這了,更多相關(guān)JS 定時器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript下利用arguments實現(xiàn)string.format函數(shù)
sitepoint上看到Andrew Tetlaw在08年寫的文章arguments: A JavaScript Oddity,閱讀之后,除了對arguments溫故知新一遍以外,印象最深刻的還是Andrew的第一個函數(shù)實現(xiàn)的string.format功能。2010-08-08
bootstrap3-dialog-master模態(tài)框使用詳解
這篇文章主要為大家詳細介紹了bootstrap3-dialog-master模態(tài)框的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
解決window.opener=null;window.close(),只支持IE6不支持IE7,IE8的問題
本篇文章主要是對window.opener=null;window.close(),只支持IE6不支持IE7,IE8的解決方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
前端JavaScript實現(xiàn)本地模糊搜索功能的方法實例
對于模糊查詢,一般都是傳關(guān)鍵字給后端,由后端來做。但是有時候一些輕量級的列表前端來做可以減少ajax請求,在一定程度上提高用戶體驗,這篇文章主要給大家介紹了關(guān)于前端JavaScript如何實現(xiàn)本地模糊搜索功能的相關(guān)資料,需要的朋友可以參考下2021-07-07

