当前位置:首页 > JavaScript

js 实现倒数

2026-04-06 07:49:29JavaScript

使用 setTimeout 实现倒数

通过 setTimeout 递归调用实现倒数功能。设置一个初始值,每次递归调用时减少该值,直到达到终止条件。

function countdown(seconds) {
  console.log(seconds);
  if (seconds > 0) {
    setTimeout(() => countdown(seconds - 1), 1000);
  }
}
countdown(5);

使用 setInterval 实现倒数

使用 setInterval 定时器实现倒数功能。设置一个初始值,每隔一秒减少该值,当达到终止条件时清除定时器。

js 实现倒数

function countdown(seconds) {
  const timer = setInterval(() => {
    console.log(seconds);
    seconds--;
    if (seconds < 0) {
      clearInterval(timer);
    }
  }, 1000);
}
countdown(5);

使用 async/await 实现倒数

通过 async/await 结合 setTimeout 实现倒数功能。使用异步函数和 Promise 来模拟等待效果。

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

async function countdown(seconds) {
  for (let i = seconds; i >= 0; i--) {
    console.log(i);
    await delay(1000);
  }
}
countdown(5);

使用 Date 对象实现精确倒数

利用 Date 对象记录时间差,实现更精确的倒数功能。通过计算时间差来确保倒数的准确性。

js 实现倒数

function countdown(seconds) {
  const start = Date.now();
  const end = start + seconds * 1000;
  const timer = setInterval(() => {
    const remaining = Math.round((end - Date.now()) / 1000);
    if (remaining >= 0) {
      console.log(remaining);
    } else {
      clearInterval(timer);
    }
  }, 1000);
}
countdown(5);

使用 requestAnimationFrame 实现倒数

通过 requestAnimationFrame 实现高性能倒数功能。适合需要与动画或高频更新结合的倒数场景。

function countdown(seconds) {
  const start = Date.now();
  const end = start + seconds * 1000;
  function update() {
    const remaining = Math.round((end - Date.now()) / 1000);
    if (remaining >= 0) {
      console.log(remaining);
      requestAnimationFrame(update);
    }
  }
  update();
}
countdown(5);

使用生成器函数实现倒数

通过生成器函数实现倒数功能。利用生成器的暂停和恢复特性控制倒数流程。

function* countdownGen(seconds) {
  while (seconds >= 0) {
    yield seconds;
    seconds--;
  }
}

const gen = countdownGen(5);
const timer = setInterval(() => {
  const { value, done } = gen.next();
  if (done) {
    clearInterval(timer);
  } else {
    console.log(value);
  }
}, 1000);

标签: 倒数js
分享给朋友:

相关文章

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js画图实现

js画图实现

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

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现 功能

js实现 功能

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

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…