当前位置:首页 > JavaScript

js setinterval 实现

2026-04-05 18:08:18JavaScript

使用 setInterval 实现定时任务

setInterval 是 JavaScript 中用于周期性执行代码的方法,它接受两个参数:回调函数和时间间隔(毫秒)。

setInterval(() => {
  console.log('This runs every 2 seconds');
}, 2000);

清除定时器

setInterval 返回一个 ID,可用于清除定时器。使用 clearInterval 停止执行。

const intervalId = setInterval(() => {
  console.log('Running...');
}, 1000);

setTimeout(() => {
  clearInterval(intervalId);
  console.log('Stopped');
}, 5000);

注意事项

时间间隔不保证精确,受主线程任务影响。

避免在回调中执行耗时操作,可能导致延迟累积。

// 错误示例:耗时操作导致延迟
setInterval(() => {
  heavyCalculation(); // 阻塞主线程
}, 1000);

替代方案

对于需要更精确控制的场景,可考虑递归使用 setTimeout

function runWithDelay() {
  setTimeout(() => {
    task();
    runWithDelay();
  }, 1000);
}

实际应用示例

实现简单计时器功能:

js setinterval 实现

let seconds = 0;
const timer = setInterval(() => {
  seconds++;
  console.log(`Elapsed: ${seconds}s`);
  if (seconds >= 10) clearInterval(timer);
}, 1000);

标签: jssetinterval
分享给朋友:

相关文章

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js 实现全屏

js 实现全屏

使用 requestFullscreen 方法 通过调用元素的 requestFullscreen 方法可以实现全屏。该方法兼容现代浏览器,但不同浏览器可能需要前缀。 const element =…