定时器是js中基础的一种api,下面我们来简单分析下两者的区别
setInterval 计时器
这个计时器的特点是可以重复使用,
<script type="text/javascript">
var calc=()=>{
var now=new Date();
console.log(now)
}
var timer=null;
timer=setInterval(calc,1000);
</script>
上述代码,设置的是每过1000毫秒去输出当前的时间。计时器在不断重复的刷新,获取相关函数进行执行。
此外还会搭配这段代码,意思是去停止相关的计时。
clearInterval(timer);
var timer=null//释放内存
setTimeout 计时器
setTimeout这个计时器的特点是,只能使用一次,除非用回调函数,才能使其继续执行。
<script type="text/javascript">
var calc=()=>{
var now=new Date();
console.log(now)
}
var timer2=null;
timer2=setTimeout(calc,3000);
//过3秒钟执行一次相关函数,只执行一次,不重复执行
</script>
上述的代码,意思是在3秒内,setTimeout 会执行calc函数,执行完后不再执行。