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

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js实现轮播

js实现轮播

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

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…