在 JavaScript 中,有兩種定時(shí)器:setInterval() 和 setTimeout()。這兩種定時(shí)器都可以用來(lái)延遲執(zhí)行一段代碼或者周期性地執(zhí)行一段代碼。
setTimeout()
setTimeout() 方法可以讓代碼在指定的時(shí)間間隔后執(zhí)行一次。該方法有兩個(gè)參數(shù),第一個(gè)參數(shù)是要執(zhí)行的代碼塊,第二個(gè)參數(shù)是延遲時(shí)間,以毫秒為單位。如果要取消一個(gè)定時(shí)器,可以使用 clearTimeout() 方法。
// 延遲執(zhí)行代碼塊
setTimeout(function() {
// 要執(zhí)行的代碼塊
}, 1000);
// 取消定時(shí)器
var timerId = setTimeout(function() {
// 要執(zhí)行的代碼塊
}, 1000);
clearTimeout(timerId);
setInterval()
setInterval() 方法可以讓代碼以固定時(shí)間間隔周期性地執(zhí)行。該方法有兩個(gè)參數(shù),第一個(gè)參數(shù)是要執(zhí)行的代碼塊,第二個(gè)參數(shù)是時(shí)間間隔,以毫秒為單位。如果要取消一個(gè)定時(shí)器,可以使用 clearInterval() 方法。
// 周期性執(zhí)行代碼塊
setInterval(function() {
// 要執(zhí)行的代碼塊
}, 1000);
// 取消定時(shí)器
var timerId = setInterval(function() {
// 要執(zhí)行的代碼塊
}, 1000);
clearInterval(timerId);
需要注意的是,setInterval() 方法會(huì)一直周期性地執(zhí)行代碼,直到定時(shí)器被取消或者頁(yè)面被卸載。因此,使用 setInterval() 方法時(shí)需要注意代碼的執(zhí)行次數(shù)和執(zhí)行時(shí)間,避免對(duì)頁(yè)面性能造成影響。