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 的浏览器中加载。

另请参阅