当前位置:首页 > JavaScript

js实现延时执行

2026-03-01 15:12:42JavaScript

延时执行方法

在JavaScript中,延时执行可以通过多种方式实现,以下是几种常见的方法:

setTimeout

使用setTimeout函数可以在指定的毫秒数后执行代码:

setTimeout(() => {
  console.log('这段代码将在1秒后执行');
}, 1000);

Promise与async/await

js实现延时执行

结合Promise和async/await可以实现更清晰的延时逻辑:

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

async function delayedAction() {
  await delay(2000);
  console.log('这段代码将在2秒后执行');
}
delayedAction();

requestAnimationFrame

js实现延时执行

对于需要与浏览器渲染同步的延时操作,可以使用requestAnimationFrame

function delayedAnimation() {
  const start = Date.now();

  function frame() {
    if (Date.now() - start >= 1500) {
      console.log('1.5秒后执行的动画相关操作');
      return;
    }
    requestAnimationFrame(frame);
  }

  requestAnimationFrame(frame);
}
delayedAnimation();

setInterval与clearInterval

需要重复执行时可以使用setInterval,记得用clearInterval停止:

let counter = 0;
const intervalId = setInterval(() => {
  console.log(`每500ms执行一次,当前计数: ${++counter}`);
  if (counter >= 5) clearInterval(intervalId);
}, 500);

注意事项

  • 浏览器环境中最小延时实际为4ms(HTML5规范),即使设置更小值也会按4ms处理
  • Node.js环境没有这个限制,但实际精度取决于系统
  • 大量延时任务建议使用任务队列管理,避免性能问题
  • Web Worker适合处理长时间运行的延时任务,避免阻塞主线程

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现驼峰

js实现驼峰

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

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…