当前位置:首页 > JavaScript

js实现定时执行

2026-02-02 21:01:58JavaScript

定时执行的方法

使用 setTimeout

setTimeout 用于在指定的毫秒数后执行一次函数。语法如下:

setTimeout(function, delay, [arg1], [arg2], ...);

示例代码:

setTimeout(() => {
    console.log('执行一次');
}, 2000); // 2秒后执行

使用 setInterval

setInterval 用于每隔指定的毫秒数重复执行函数。语法如下:

js实现定时执行

setInterval(function, delay, [arg1], [arg2], ...);

示例代码:

const intervalId = setInterval(() => {
    console.log('重复执行');
}, 1000); // 每1秒执行一次

// 清除定时器
clearInterval(intervalId);

使用 requestAnimationFrame

requestAnimationFrame 适合动画或高频次定时任务,会在浏览器下一次重绘之前执行。语法如下:

js实现定时执行

requestAnimationFrame(callback);

示例代码:

function animate() {
    console.log('动画帧执行');
    requestAnimationFrame(animate);
}
animate();

使用 Promise 和 async/await

结合 Promiseasync/await 实现更灵活的定时控制。示例代码:

function delay(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function run() {
    await delay(1000);
    console.log('1秒后执行');
}
run();

使用 Web Workers

对于长时间运行的定时任务,可以使用 Web Workers 避免阻塞主线程。示例代码:

// worker.js
self.onmessage = function(e) {
    setInterval(() => {
        self.postMessage('定时执行');
    }, 1000);
};

// 主线程
const worker = new Worker('worker.js');
worker.onmessage = function(e) {
    console.log(e.data);
};

注意事项

  • setTimeoutsetInterval 的延迟时间不保证精确,受浏览器事件循环影响。
  • 高频次任务使用 requestAnimationFrame 更流畅。
  • 长时间任务建议使用 Web Workers 避免页面卡顿。
  • 清除定时器使用 clearTimeoutclearInterval 防止内存泄漏。

标签: js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js如何实现继承

js如何实现继承

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

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js计算器的实现

js计算器的实现

实现基础结构 HTML部分需要创建计算器的基本框架,包含显示区域和按钮。使用<div>容器包裹整个计算器,内部设置一个显示屏和多个按钮。 <div class="calculato…