当前位置:首页 > JavaScript

js实现settimeout

2026-01-31 16:53:46JavaScript

使用 setTimeout 实现延时执行

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

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

清除 setTimeout 的定时器

setTimeout 返回一个定时器 ID,可以通过 clearTimeout 取消尚未执行的延时操作。

js实现settimeout

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

clearTimeout(timerId);

传递参数给回调函数

从第三个参数开始,setTimeout 可以接受额外的参数,这些参数会传递给回调函数。

setTimeout((message) => {
  console.log(message); // 输出: 'Hello, World!'
}, 1000, 'Hello, World!');

使用箭头函数保持 this 指向

在对象方法中使用 setTimeout 时,箭头函数可以保持 this 的正确指向。

js实现settimeout

const obj = {
  name: 'Object',
  greet() {
    setTimeout(() => {
      console.log(this.name); // 输出: 'Object'
    }, 1000);
  }
};

obj.greet();

实现递归 setTimeout

setTimeout 可以用于实现周期性操作,相比 setInterval 能更精确控制执行间隔。

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

setTimeout(repeat, 1000);

处理异步操作的超时

setTimeout 常用于为异步操作设置超时限制。

function fetchWithTimeout(url, timeout) {
  return new Promise((resolve, reject) => {
    const timer = setTimeout(() => {
      reject(new Error('请求超时'));
    }, timeout);

    fetch(url)
      .then(response => {
        clearTimeout(timer);
        resolve(response);
      })
      .catch(reject);
  });
}

标签: jssettimeout
分享给朋友:

相关文章

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js画图实现

js画图实现

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

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现下拉菜单

js实现下拉菜单

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

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…