当前位置:首页 > JavaScript

js实现间隔

2026-02-01 18:41:03JavaScript

使用 setTimeout 实现间隔

setTimeout 是 JavaScript 中用于在指定时间后执行一次代码的函数。通过递归调用 setTimeout 可以实现间隔执行的效果。

function repeatFunction() {
  console.log('This will run every 2 seconds');
  setTimeout(repeatFunction, 2000);
}

setTimeout(repeatFunction, 2000);

使用 setInterval 实现间隔

setInterval 是专门用于间隔执行的函数,它会按照指定的时间间隔重复执行代码。

js实现间隔

setInterval(function() {
  console.log('This will run every 1 second');
}, 1000);

使用 async/await 实现间隔

在异步函数中可以使用 Promise 和 setTimeout 结合来实现间隔执行。

async function delayedLoop() {
  while(true) {
    console.log('Running every 3 seconds');
    await new Promise(resolve => setTimeout(resolve, 3000));
  }
}

delayedLoop();

使用 requestAnimationFrame 实现间隔

requestAnimationFrame 更适合需要与屏幕刷新率同步的间隔执行,通常用于动画。

js实现间隔

function animate() {
  console.log('Running at screen refresh rate');
  requestAnimationFrame(animate);
}

requestAnimationFrame(animate);

清除间隔执行

对于 setInterval 和 setTimeout 创建的间隔执行,需要使用 clearInterval 和 clearTimeout 来清除。

const intervalId = setInterval(() => {
  console.log('This will stop after 5 seconds');
}, 1000);

setTimeout(() => {
  clearInterval(intervalId);
}, 5000);

使用 Generator 函数实现间隔

Generator 函数可以配合 yield 实现更灵活的间隔控制。

function* intervalGenerator() {
  while(true) {
    yield new Promise(resolve => setTimeout(resolve, 1500));
    console.log('Running every 1.5 seconds');
  }
}

const gen = intervalGenerator();
function run() {
  gen.next().value.then(run);
}
run();

标签: 间隔js
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swip…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…