今天在优化项目的代码时候用到了递归方法,然后看到网上一个有趣的题目:怎么用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!")})
代码虽然简单,但是也踩了一点坑,但最后还是用这么点代码实现了,终于不会提示出现内存溢出了!!