用JavaScript模拟setInterval函数的实现方法与使用 - setTimeout实现周期性执行任务

5 min read

在 JavaScript 中,你可以使用 setTimeout 来模拟 setInterval 的行为。下面是示例代码:

let intervalID;

function myInterval(func, delay) {
  function loop() {
    func();
    intervalID = setTimeout(loop, delay);
  }
  intervalID = setTimeout(loop, delay);
}

function myClearInterval() {
  clearTimeout(intervalID);
}

这里定义了两个函数,myIntervalmyClearIntervalmyInterval 接受一个函数和一个时间间隔作为参数,然后使用 setTimeout 来重复执行该函数。myClearInterval 用于清除间隔,它使用 clearTimeout 来停止执行 myInterval

示例使用方法:

function sayHello() {
  console.log('Hello, world!');
}

myInterval(sayHello, 1000);

// 停止间隔
myClearInterval();

这将在控制台中每秒钟打印一条消息,然后可以使用 myClearInterval 来停止间隔。