JavaScript SetInterval與setTimeout使用方法詳解
更新時間:2013年11月15日 09:58:22 作者:
本文講解了JavaScript SetInterval與setTimeout的區(qū)別,并用代碼示例演示了使用方法
setTimeout和setInterval的語法相同。它們都有兩個參數(shù),一個是將要執(zhí)行的代碼字符串,還有一個是以毫秒為單位的時間間隔,當(dāng)過了那個時間段之后就將執(zhí)行那段代碼。
不過這兩個函數(shù)還是有區(qū)別的,setInterval在執(zhí)行完一次代碼之后,經(jīng)過了那個固定的時間間隔,它還會自動重復(fù)執(zhí)行代碼,而setTimeout只執(zhí)行一次那段代碼。
區(qū)別:
window.setTimeout("function",time);//設(shè)置一個超時對象,只執(zhí)行一次,無周期
window.setInterval("function",time);//設(shè)置一個超時對象,周期='交互時間'
停止定時:
window.clearTimeout(對象) 清除已設(shè)置的setTimeout對象
window.clearInterval(對象) 清除已設(shè)置的setInterval對象
PerRefresh();
function PerRefresh() {
var today = new Date();
alert("The time is: " + today.toString());
setTimeout("showTime()", 5000);
}
一旦調(diào)用了這個函數(shù)PerReflesh,那么就會每隔5秒鐘就顯示一次時間
setInterval("PerRefresh()", 5000);
function PerRefresh() {
var today = new Date();
alert("The time is: " + today.toString());
}
而setInterval卻沒有被自己所調(diào)用的函數(shù)所束縛,它只是簡單地每隔一定時間就重復(fù)執(zhí)行一次那個函數(shù)。
只要調(diào)用了setInterval("PerRefresh()", 5000)此函數(shù),那么每隔5秒鐘就會執(zhí)行PerRefresh這個函數(shù)。
如果要求在每隔一個固定的時間間隔后就精確地執(zhí)行某動作,那么最好使用setInterval,而如果不想由于連續(xù)調(diào)用產(chǎn)生互相干擾的問題,尤其是每次函數(shù)的調(diào)用需要繁重的計算以及很長的處理時間,那么最好使用setTimeout。
setInterval 不斷地執(zhí)行指定代碼直到調(diào)用clearInterval清除定時器對象
setTimeout 執(zhí)行一次指定代碼,使用clearTimeout清除定時器對象
setInterval和setTimeout都返回定時器對象標(biāo)識符,用于clearInterval和clearTimeout調(diào)用
不過這兩個函數(shù)還是有區(qū)別的,setInterval在執(zhí)行完一次代碼之后,經(jīng)過了那個固定的時間間隔,它還會自動重復(fù)執(zhí)行代碼,而setTimeout只執(zhí)行一次那段代碼。
區(qū)別:
window.setTimeout("function",time);//設(shè)置一個超時對象,只執(zhí)行一次,無周期
window.setInterval("function",time);//設(shè)置一個超時對象,周期='交互時間'
停止定時:
window.clearTimeout(對象) 清除已設(shè)置的setTimeout對象
window.clearInterval(對象) 清除已設(shè)置的setInterval對象
復(fù)制代碼 代碼如下:
PerRefresh();
function PerRefresh() {
var today = new Date();
alert("The time is: " + today.toString());
setTimeout("showTime()", 5000);
}
一旦調(diào)用了這個函數(shù)PerReflesh,那么就會每隔5秒鐘就顯示一次時間
復(fù)制代碼 代碼如下:
setInterval("PerRefresh()", 5000);
function PerRefresh() {
var today = new Date();
alert("The time is: " + today.toString());
}
而setInterval卻沒有被自己所調(diào)用的函數(shù)所束縛,它只是簡單地每隔一定時間就重復(fù)執(zhí)行一次那個函數(shù)。
只要調(diào)用了setInterval("PerRefresh()", 5000)此函數(shù),那么每隔5秒鐘就會執(zhí)行PerRefresh這個函數(shù)。
如果要求在每隔一個固定的時間間隔后就精確地執(zhí)行某動作,那么最好使用setInterval,而如果不想由于連續(xù)調(diào)用產(chǎn)生互相干擾的問題,尤其是每次函數(shù)的調(diào)用需要繁重的計算以及很長的處理時間,那么最好使用setTimeout。
setInterval 不斷地執(zhí)行指定代碼直到調(diào)用clearInterval清除定時器對象
setTimeout 執(zhí)行一次指定代碼,使用clearTimeout清除定時器對象
setInterval和setTimeout都返回定時器對象標(biāo)識符,用于clearInterval和clearTimeout調(diào)用
相關(guān)文章
JavaScript中的Repaint和Reflow用法詳解
這篇文章主要介紹了JavaScript中的Repaint和Reflow用法詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-07-07
script標(biāo)簽屬性用type還是language
本文介紹了javascript腳本中標(biāo)簽屬性type與language的區(qū)別分析,有需要的小伙伴可以參考下2015-01-01
JavaScript中的setUTCDate()方法使用詳解
這篇文章主要介紹了JavaScript中的setUTCDate()方法使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06
Javascript實例教程(19) 使用HoTMetal(5)
Javascript實例教程(19) 使用HoTMetal(5)...2006-12-12
JavaScript入門教程(5) js Screen屏幕對象
這是基本JavaScript的屏幕對象2009-01-01
淺談checkbox的一些操作(實戰(zhàn)經(jīng)驗)
checkbox看起來很簡單,有時很頭疼,有什么難的,下面就為大家介紹下checkbox的一些操作,不了解的朋友不要錯過2013-11-11
讓ie運(yùn)行js時提示允許阻止內(nèi)容運(yùn)行的解決方法
這個問題一般是因為網(wǎng)頁中使用了一些js代碼,而ie的默認(rèn)安全級別過高導(dǎo)致運(yùn)行js時需要經(jīng)過準(zhǔn)許才可以。下面是IE的設(shè)置方法。2010-10-10

