setInterval函數(shù)用于按照指定的時間間隔重復執(zhí)行指定的代碼塊或函數(shù)。它接受兩個參數(shù),第一個參數(shù)是要執(zhí)行的代碼塊或函數(shù),第二個參數(shù)是時間間隔(以毫秒為單位)。
下面是setInterval函數(shù)的使用方法:
// 定義一個計數(shù)器變量
var counter = 0;
// 定義一個函數(shù),每次執(zhí)行時計數(shù)器加一并輸出結果
function incrementCounter() {
counter++;
console.log(counter);
}
// 使用setInterval函數(shù),每隔1秒執(zhí)行一次incrementCounter函數(shù)
var intervalId = setInterval(incrementCounter, 1000);
在上面的例子中,我們定義了一個計數(shù)器變量counter
和一個函數(shù)incrementCounter
,incrementCounter
函數(shù)每次執(zhí)行時將計數(shù)器加一并輸出結果。然后,我們使用setInterval
函數(shù),每隔1秒執(zhí)行一次incrementCounter
函數(shù)。setInterval
函數(shù)返回一個唯一的標識符intervalId
,可以用于后續(xù)取消這個周期函數(shù)的執(zhí)行。
如果需要停止周期函數(shù)的執(zhí)行,可以使用clearInterval
函數(shù),并傳入intervalId
作為參數(shù)。例如:
// 停止周期函數(shù)的執(zhí)行
clearInterval(intervalId);
注意:setInterval
函數(shù)會在指定的時間間隔過后立即開始執(zhí)行第一次代碼塊或函數(shù),并且會按照指定的時間間隔重復執(zhí)行。如果執(zhí)行的代碼塊或函數(shù)耗時較長,可能會導致周期函數(shù)的執(zhí)行間隔變長。如果需要確保周期函數(shù)的執(zhí)行間隔始終相等,可以考慮使用setTimeout
函數(shù)遞歸調用來實現(xiàn)。