通过递归的方法使用setTimeout模拟setInterval行为

今天在优化项目的代码时候用到了递归方法,然后看到网上一个有趣的题目:怎么用setTimeout模拟setInterval行为?

感觉挺过瘾的,就去实现了一下,果然有趣,直接上代码吧:

//实现的方法挺简单的 ,如下代码
//参数: 毫秒  需要执行的方法
function setInter(s,fn){
  let timeOut = (s,fn)=>{
      setTimeout(()=>{
        fn();
        timeOut(s,fn);
      },s)
  }
  timeOut(s,fn);
}

//调用上面的方法
setInter(3000,()=>{console.log("hello world!")})

代码虽然简单,但是也踩了一点坑,但最后还是用这么点代码实现了,终于不会提示出现内存溢出了!!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值