📜  计时器 - Javascript (1)

📅  最后修改于: 2023-12-03 14:57:26.467000             🧑  作者: Mango

JavaScript计时器

JavaScript计时器是一种JavaScript API,它允许程序员周期性地调用函数。计时器可以用来创建动画效果,实现轮询效果等等。在本文中,我们将介绍JS计时器的不同类型和实现方法。

setInterval()

首先,我们来介绍最常见的计时器类型:setInterval()。这个函数允许您周期性地调用函数。

const timer = setInterval(function () {
  console.log("Hello, world!");
}, 1000);

上面的代码将每隔1秒钟在控制台输出一次"Hello, world!"。我们可以通过调用clearInterval()函数来停止循环:

clearInterval(timer);
setTimeout()

下一个计时器类型是setTimeout()。这个函数一次性地调用函数,并在指定的时间间隔后执行。这个函数通常用于在稍后时间执行代码。

setTimeout(function () {
  console.log("Hello, world!");
}, 1000);

上面的代码将在1秒后输出"Hello, world!"到控制台。

周期性函数

第三种计时器类型是周期性函数。它允许程序员自定义一个函数来执行,并在指定时间间隔后循环执行它。

function doSomething() {
  console.log("I'm doing something...");
}

function interval(func, wait, times) {
  var interv = function (w, t) {
    return function () {
      if (typeof t === "undefined" || t-- > 0) {
        setTimeout(interv, w);
        try {
          func.call(null);
        } catch (e) {
          t = 0;
          throw e.toString();
        }
      }
    };
  }(wait, times);

  setTimeout(interv, wait);
}

// Call interval function
interval(doSomething, 1000, 5);

上面的代码将输出"I'm doing something..."到控制台5次,每次间隔1秒。

结论

JavaScript计时器是实现动画效果和周期性操作的重要部分。setTimeout()setInterval()是最常见的计时器类型,您可以使用它们来构建几乎任何类型的计时器。此外,周期性函数也是一种非常有用的计时器类型,它允许您自定义函数来执行循环任务。