文章预览
点击上方 前端Q ,关注公众号 回复 加群 ,加入前端Q技术交流群 阿里的大佬自己说的在面试时候必问的一个题目,其实这个问题不仅是在面试中,也在我们的业务里也会经常用到,所以才会写这么一篇文章,那么到底如何才能写一个完美的倒计时呢? 首先我们在写倒计时的时候必须要考虑到两点: 准确性、性能 。接下来我们来一步一步实现一个准确的定时器。 setInterval: 我们先来简单实现一个倒计时的函数: function example1 ( leftTime ) { let t = leftTime; setInterval( () => { t = t - 1000 ; console .log(t); }, 1000 ); } example1( 10 ); 可以看到使用 setInterval 即可,但是 setInterval 真的准确吗?我们来看一下 MDN 中的说明: 💡 如果你的代码逻辑执行时间可能比定时器时间间隔要长,建议你使用递归调用了 setTimeout
………………………………