当前位置:首页 > JavaScript

js实现settime

2026-02-01 18:05:23JavaScript

setTimeout 的基本用法

setTimeout 是 JavaScript 中用于延迟执行代码的方法。它接受一个回调函数和一个延迟时间(毫秒),在指定时间后执行回调函数。

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

清除 setTimeout

setTimeout 返回一个定时器 ID,可以用于清除定时器。使用 clearTimeout 可以取消尚未执行的定时器。

const timerId = setTimeout(() => {
  console.log('这段代码不会执行');
}, 1000);

clearTimeout(timerId);

传递参数给回调函数

setTimeout 允许传递额外的参数给回调函数,这些参数会作为回调函数的参数。

setTimeout((name, age) => {
  console.log(`姓名: ${name}, 年龄: ${age}`);
}, 1000, '张三', 25);

使用箭头函数

箭头函数可以简化 setTimeout 的回调写法,同时避免 this 绑定问题。

const obj = {
  name: '李四',
  greet: function() {
    setTimeout(() => {
      console.log(`你好, ${this.name}`);
    }, 1000);
  }
};

obj.greet();

递归 setTimeout

递归调用 setTimeout 可以实现类似 setInterval 的重复执行效果,但能更精确控制每次执行的间隔。

function repeat() {
  console.log('每 1 秒执行一次');
  setTimeout(repeat, 1000);
}

setTimeout(repeat, 1000);

浏览器和 Node.js 中的差异

在浏览器中,setTimeout 的最小延迟时间通常为 4ms。Node.js 中则没有这个限制,但实际延迟可能受事件循环影响。

// 浏览器中最小延迟演示
setTimeout(() => {
  console.log('即使设置为 0,实际延迟至少 4ms');
}, 0);

替代方案 requestAnimationFrame

对于动画场景,requestAnimationFramesetTimeout 更适合,它能与浏览器刷新率同步。

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

requestAnimationFrame(animate);

js实现settime

标签: jssettime
分享给朋友:

相关文章

js实现分页

js实现分页

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

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue…

js 实现倒计时

js 实现倒计时

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

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统…

js实现pdf在线预览

js实现pdf在线预览

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