当前位置:首页 > 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 更适合,它能与浏览器刷新率同步。

js实现settime

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

requestAnimationFrame(animate);

标签: jssettime
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现打印

js实现打印

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

js实现全屏

js实现全屏

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

js如何实现继承

js如何实现继承

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

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…