当前位置:首页 > 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实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https:/…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEv…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClip…