如何使用setInterval 和clearInterval 控制間隔
在處理鍵盤事件的上下文中,出現了正確使用setIntervalcle 和setInterval 的問題用於管理函數的執行。讓我們探討一下這些方法之間的差異。
setInterval:設定重複計時器
setInterval 建立一個計時器,以指定的時間間隔(以毫秒為單位)重複執行函數。例如,下面的程式碼設定了一個計時器,每20 毫秒呼叫一次drawAll() 函數:
setInterval(drawAll, 20);
但是,如果您只想呼叫該函數一次,那麼使用setInterval 並不理想,因為它創建一個連續的循環。為了避免這種情況,您可以使用clearInterval。
clearInterval:取消計時器
clearInterval可讓您停止循環計時器。它接受 setInterval 傳回的句柄作為參數。將句柄設為0,您可以取消計時器並防止其進一步觸發:
var handle = setInterval(drawAll, 20); // When you want to cancel it: clearInterval(handle); handle = 0;
使用setTimeout 進行一次性執行
如果需要安排函數僅執行一次,請改用setTimeout。它提供類似的功能,但不會建立重複循環。以下程式碼在 20 毫秒延遲後呼叫一次 drawAll() 函數:
setTimeout(drawAll, 20);
請記住,setInterval 適合建立重複執行函數的計時器,而clearInterval 用於停止此類計時器。另一方面,setTimeout 用於安排函數在指定的延遲後僅觸發一次。
以上是如何使用`setInterval`和`clearInterval`來控制函式執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!