Javascript中setTimeOut和setInterval的定時器用法_javascript技巧
Javascript的setTimeOut和setInterval函數應用程式非常廣泛,它們都用來處理延時和定時任務,例如打開網頁一段時間後彈出一個登入框,頁面每隔一段時間發送非同步請求獲取最新資料等等。但它們的應用是有差別的。
setTimeout() 方法用於在指定的毫秒數後調用函數或計算表達式,而setInterval()則是在每隔指定的毫秒數循環調用函數或表達式,直到clearInterval把它清除。也就是說setTimeout()只執行一次,setInterval()可以執行多次。兩個函數的參數也相同,第一個參數是要執行的code或句柄,第二個是延遲的毫秒數。
setTimeOut用法
setTimeout函數的用法如下:
var timeoutID = window.setTimeout(func, [delay, param1, param2, ...]);
var timeoutID = window.setTimeout(code, [delay]);
timeoutID:定時器ID號,它可以在clearTimeout()函數中被用來清除定時器。
func:被執行的函數。
code:(替代的語法)一個被執行的程式碼字串。
delay:延遲的時間,單位毫秒。如果沒有指定,預設為0。
我們可以使用window.setTimeout或setTimeout,兩個寫法基本上一樣,只不過window.setTimeout將setTimeout函數當作全域window物件的一個屬性來引用。
應用範例:
function timeout(){
document.getElementById('res').innerHTML=Math.floor(Math.random()*100 1);
}
setTimeout("timeout()",5000);
程式碼執行時,5秒後呼叫timeout()函數,點選看示範。
setInterval用法
setInterval函數的參數及用法和setTimeout函數一樣,請參考上文的setTimeout函數的用法介紹。不同的是,setInterval每隔一定的時間執行當中的func或code代碼。
應用範例:
var tt = 10;
function timego(){
tt--;
document.getElementById("tt").innerHTML = tt;
if(tt==0){
window.location.href='/';
return false;
}
}
var timer = window.setInterval("timego()",1000);
函數timego()定義了頁面元素#tt顯示的內容,當tt等於0時,頁面導向首頁。然後我們定義一個定時器timer,使用setInterval()每隔1秒呼叫一次timego()。這樣timego會執行10次,每次數字tt會減1,直到0。那如果想停止定時器,可以使用以下程式碼:
window.clearInterval(timer);
程式碼執行時,10秒後頁面跳到首頁
其實setTimeout()也可以實作每隔一段時間重複執行某個函數,但我們還是簡單的差異使用setTimeOut和setInterval。另外javascript都是以單線程的方式運行於瀏覽器的javascript引擎中,實際應用中複雜的任務中需要排隊執行,這就可能導致定時器時間不準,這個問題在大型應用中需要考慮,本文不做深究。
以上所述就是本文的全部內容了,希望大家能夠喜歡。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題











settimeout和setInterval的區別:1、觸發時間,settimeout是一次性的,它在設定延遲時間之後執行一次函數,而setinterval是重複性的,它會以設定的時間間隔重複執行函數;2、執行次數,settimeout只執行一次,而setinterval會一直重複執行,直到被取消。

如何使用setInterval函數定時執行程式碼?在JavaScript中,setInterval函數是一個非常有用的函數,它可以定時執行一段程式碼。透過setInterval函數,我們可以在特定的時間間隔內重複執行指定的程式碼。本文將詳細介紹如何使用setInterval函數,並提供具體的程式碼範例。一、setInterval函數的基本語法如下:setInterv

可以使用clearInterval函數來停止由setInterval函數所建立的定時器。 setInterval函數會傳回一個唯一的定時器ID,可以將此ID作為參數傳遞給clearInterval函數,以停止定時器的執行。

Window.setInterval() 方法的基本語法是“window.setInterval(function, delay)”,function是要重複執行的函數或程式碼區塊,delay是每次執行之間的時間間隔,以毫秒為單位。此方法是JavaScript中用於定時重複執行指定函數或程式碼的方法,它的使用非常簡單,只需要傳入要執行的函數或程式碼區塊以及重複執行的時間間隔。

setInterval函數是JavaScript中的一個定時器函數,允許你設定一個間隔,並在每個間隔之後執行指定的程式碼,需要定期處理某些任務或即時更新頁面元素的情況非常有用,要注意使用setInterval時的性能和可靠性問題,並根據需要進行最佳化。

setinterval用法是“setInterval(function, delay);”,“function”是要執行的函數,可以是函數表達式或函數引用,“delay”是執行函數之間的時間間隔,以毫秒為單位。 setInterval是JavaScript中用來週期性執行程式碼的函數,它接受一個函數和一個時間間隔作為參數,會依照指定的時間間隔重複執行函數。

在JavaScript中使用clearTimeout函數取消setTimeout的計時器,需要具體程式碼範例在JavaScript中,setTimeout函數是用來在指定的時間延遲後執行一次特定的程式碼。而setInterval函數則是用來在指定的時間間隔內重複執行一段特定的程式碼。然而,在某些情況下,我們可能需要在定時器執行之前取消它。在這種情況下,就可以使用c

setTimeout(function,duration)-該函數在duration毫秒後呼叫函數。這適用於一次執行。讓我們來看一個例子-它等待2000毫秒,然後運行回呼函數alert('Hello')-setTimeout(function(){alert('Hello');},2000);setInterval(function,uration)-此函數在每duration毫秒後呼叫function。這可以無限次進行。讓我們來看一個例子-它每2000毫秒觸發一次警
