clearTimeout() 全域性函式

注意:此功能在Web Workers中可用。

全域性clearTimeout()方法取消先前透過呼叫setTimeout()設定的超時。

如果提供的引數未識別先前已建立的操作,則此方法不執行任何操作。

語法

js
clearTimeout(timeoutID)

引數

timeoutID

要取消的超時的識別符號。此 ID 由對 setTimeout() 的相應呼叫返回。

值得注意的是,setTimeout()setInterval() 使用的 ID 池是共享的,這意味著您可以從技術上講互換使用 clearTimeout()clearInterval()。但是,為了清晰起見,您應該避免這樣做。

返回值

無 (undefined)。

示例

在網頁的上下文中執行下面的指令碼,然後單擊頁面一次。您將在 1 秒後看到一個彈出訊息。如果您在一秒鐘內多次點選頁面,警報只會出現一次。

js
const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === "number") {
      this.cancel();
    }

    this.timeoutID = setTimeout(
      (msg) => {
        this.remind(msg);
      },
      1000,
      "Wake up!",
    );
  },

  cancel() {
    clearTimeout(this.timeoutID);
  },
};
window.addEventListener("click", () => alarm.setup());

註釋

將無效的 ID 傳遞給 clearTimeout() 將靜默地不執行任何操作;不會丟擲異常。

規範

規範
HTML 標準
# dom-cleartimeout-dev

瀏覽器相容性

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

另請參閱