js 封装一个定时器

function timer(name, fn, time) {
    
    
  if (timer[name]) {
    
      // 判断定时器是否存在
    clearInterval(timer[name])  // 存在则清除
  }
  
  timer[name] = setInterval(() => {
    
      // 设置新的定时器
    fn()  // 执行传入的函数
  }, time) 
}

使用方法:

// 第一个定时器
timer('timer1', () => {
    
    
  console.log('Timer 1 running...')  
}, 1000)

// 第二个定时器
timer('timer2', () => {
    
    
  console.log('Timer 2 running...')   
}, 2000)

解释:

  1. timer函数接收三个参数:定时器名称、要执行的函数和时间间隔
  2. 首先判断是否已存在名称相同的定时器,如果存在则清除
  3. 然后使用setInterval设置新的定时器,并将定时器实例保存到以名称为key的对象上
  4. 这样可以通过名称清除和重置定时器
  5. 调用timer函数时只需传入名称、函数和时间间隔即可设置定时器
  6. 省去了手动维护定时器的实例,自动处理定时器的清除与重置

这是一个封装了自动清除和重置功能的定时器工具。通过给定时器一个名称,可以非常方便地设置、清除和重置定时器,避免因忘记清除定时器导致的内存泄漏问题。
使用工具函数封装常用功能,可以大大提高代码的清晰度和复用性。希望这个定时器工具函数对你有所启发。如果有任何疑问,欢迎在评论区提出。

猜你喜欢

转载自blog.csdn.net/weixin_43483746/article/details/130129478
今日推荐