当前位置:首页 > JavaScript

js 实现每秒递增

2026-04-07 17:34:09JavaScript

实现每秒递增的 JavaScript 方法

使用 setInterval 定时器

let count = 0;
const interval = setInterval(() => {
  count++;
  console.log(count);
}, 1000);

// 清除定时器示例
// clearInterval(interval);
  • 通过 setInterval 设置每秒执行一次的函数
  • 每次执行时将计数器 count 加 1
  • 1000 毫秒(1 秒)作为时间间隔参数

使用递归 setTimeout

js 实现每秒递增

let count = 0;
function increment() {
  count++;
  console.log(count);
  setTimeout(increment, 1000);
}
increment();
  • 定义递归函数 increment
  • 每次调用函数后设置新的 1 秒延时
  • 避免 setInterval 可能存在的执行堆积问题

基于 Date 对象的时间差计算

js 实现每秒递增

let count = 0;
let lastTime = Date.now();
function checkTime() {
  const currentTime = Date.now();
  if (currentTime - lastTime >= 1000) {
    count++;
    console.log(count);
    lastTime = currentTime;
  }
  requestAnimationFrame(checkTime);
}
checkTime();
  • 使用 requestAnimationFrame 实现循环
  • 通过比较时间戳确保精确的 1 秒间隔
  • 适合需要与渲染帧同步的场景

使用异步函数与 await

async function increment() {
  let count = 0;
  while(true) {
    await new Promise(resolve => setTimeout(resolve, 1000));
    count++;
    console.log(count);
  }
}
increment();
  • 利用 async/await 语法实现同步风格的异步代码
  • 每次循环等待 1 秒后执行递增
  • 代码结构更清晰易读

注意事项

  • 浏览器环境下建议使用 requestAnimationFrame 避免后台标签页节流
  • Node.js 环境可直接使用 setIntervalsetTimeout
  • 清除定时器使用 clearIntervalclearTimeout 防止内存泄漏
  • 生产环境应考虑添加暂停/继续功能控制计数器

标签: js
分享给朋友:

相关文章

js如何实现继承

js如何实现继承

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

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…