JavaScript 計時器

淺談 JavaScript 提供兩種計時器。

單次計時器

經過指定秒數後執行。

setTimeout(function, ms);

setTimeout 單次計時器

function 實行的函數

ms 秒數,單位是 ms,如果要經過一秒執行則輸入 1000

例如

setTimeout(() => {
    console.log('1s after run');
}, 1000)

如果設定好計時器後,想要取消這個計時器,該如何處理?

setTimeout 會回傳一個 pid,可用來做取消的動作。

let timer = setTimeout(() => {
    console.log('2s after run');
}, 2000);

此時 timer 為這次計時器的 pid,使用 clearTimeout 來取消這次計時器。

clearTimeout(timer);

無限計時器

與單次計時器不同,無限計時器宣告後,每指定秒數會一直執行。

setInterval(function, ms);

setInterval 無限計時器

function 實行的函數

ms 秒數,單位是 ms,如果要經過一秒執行則輸入 1000

與單次計時器一樣,setInterval 也會回傳一個 pid,使用 clearInterval 來取消。

let timer = setInterval(() => {
    console.log('Infinite run eveny 2s');
}, 2000);

clearInterval(timer);