当前位置:首页 > JavaScript

js 实现每秒递增

2026-02-02 23:43:43JavaScript

在 JavaScript 中实现每秒递增的功能,可以通过多种方式实现。以下是几种常见的方法:

使用 setInterval

setInterval 是 JavaScript 中用于周期性执行代码的函数,适合实现每秒递增的功能。

js 实现每秒递增

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

// 停止递增
// clearInterval(intervalId);

使用 setTimeout 递归调用

setTimeout 也可以实现每秒递增,通过递归调用自身来模拟周期性执行。

let counter = 0;
function increment() {
  counter++;
  console.log(counter);
  setTimeout(increment, 1000);
}
increment();

使用 requestAnimationFrame

如果需要更精确的时间控制,可以使用 requestAnimationFrame,但需要手动计算时间间隔。

js 实现每秒递增

let counter = 0;
let lastTime = 0;
function increment(timestamp) {
  if (timestamp - lastTime >= 1000) {
    counter++;
    console.log(counter);
    lastTime = timestamp;
  }
  requestAnimationFrame(increment);
}
requestAnimationFrame(increment);

使用 async/awaitPromise

现代 JavaScript 中,可以使用 async/await 结合 Promise 实现每秒递增。

async function increment() {
  let counter = 0;
  while (true) {
    await new Promise(resolve => setTimeout(resolve, 1000));
    counter++;
    console.log(counter);
  }
}
increment();

使用 Date 对象计算时间

如果需要更精确的时间控制,可以使用 Date 对象计算时间间隔。

let counter = 0;
let lastTime = new Date().getTime();
function increment() {
  const currentTime = new Date().getTime();
  if (currentTime - lastTime >= 1000) {
    counter++;
    console.log(counter);
    lastTime = currentTime;
  }
  requestAnimationFrame(increment);
}
increment();

注意事项

  • setIntervalsetTimeout 的时间间隔并不是绝对精确的,可能会受到浏览器或系统性能的影响。
  • 如果需要停止递增,记得调用 clearIntervalclearTimeout 来清除定时器。
  • requestAnimationFrame 通常用于动画场景,但也可以用于实现周期性任务。

标签: js
分享给朋友:

相关文章

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取…

js实现点击显示和隐藏

js实现点击显示和隐藏

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

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <d…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1;…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…