JavaScript setTimeout(), setInterval()

JavaScript 提供幾個方法讓你可以使用瀏覽器內建的計時器。

setTimeout()

setTimeout() 用來設定一段時間過後,自動執行某個函數 (callback),這計時器只會執行一次就停止。

語法:

var timeoutID = setTimeout(func, delay[, param1, param2, ...]);
var timeoutID = setTimeout(func, delay);
  • 參數 func 是時間到了的時候要自動執行的函數
  • 參數 delay 表示要等候多久,單位是毫秒 (milliseconds)
  • 參數 param1, ..., paramN 用來指定要傳入 func 函數的參數
  • setTimeout() 執行後會返回一個數字,表示這個計時器的代號 id

用法:

var timeoutID = setTimeout(myAlert, 5000);

function myAlert() {
    alert('五秒鐘到了!');
}

clearTimeout()

如果你想要取消 setTimeout() 怎麼辦?就是用 clearTimeout()

語法:

clearTimeout(timeoutID);

timeoutID 就是執行 setTimeout() 時的返回值。

setInterval()

setInterval() 用來設定每過一段時間,就自動執行某個函數 (callback),這計時器會永遠一直執行下去。

語法:

var intervalID = setInterval(func, delay[, param1, param2, ...]);
var intervalID = setInterval(func, delay);
  • 參數 func 是時間到了的時候要自動執行的函數
  • 參數 delay 表示要等候多久,單位是毫秒 (milliseconds)
  • 參數 param1, ..., paramN 用來指定要傳入 func 函數的參數
  • setInterval() 執行後會返回一個數字,表示這個計時器的代號 id

用法:

var intervalID = setInterval(function() {
    alert('十秒鐘又到了!');
}, 10000);

clearInterval()

如果你想要取消 setInterval() 怎麼辦?就是用 clearInterval()

語法:

clearInterval(intervalID);

intervalID 就是執行 setInterval() 時的返回值。