setinterval和settimeout的区别及用法(函数中如何设置参数)

setTimeout()和setInterval()

JS有两种定时器分别是setTimeout()和setInterval(),这两个区别就是setTimeout()是一次性的定时器,而setInterval()是循环的定时器。

 

setinterval和settimeout的区别及用法(函数中如何设置参数)

setinterval和settimeout的区别及用法(函数中如何设置参数)

setinterval和settimeout的区别及用法(函数中如何设置参数)

定时器的精度

js中的定时器精度并不准确,这是因为JS中的定时器仅仅是将执行的语句加入队列,这样在定时器之前的语句若是在循环或者有延迟的情况下,定时器也会相应的延后。

对于性能的消耗

上面提到了js中的定时器精度不准确的原因,同样的这也会导致使用setTimeInterVal语句会卡顿,其不管语句是否执行完成,都会在时间点执行语句。

实际上大多数的场景中,只是想要定时之后执行完语句再等待定时的触发,完全可以使用setTimeOut搭配clearTimeout这样在使用定时器之后进行消除再加一个循环,总和性能比单纯的setTimeInterVal要好上不少。

可执行字符串形式语句

由于历史原因,两种定时器都支持eval的效果,可以执行字符串形式的语句。

setinterval和settimeout的区别及用法(函数中如何设置参数)

若定时时间为0则放在队列最后执行

如果将定时为0秒后执行,语句并不会立刻执行,而是将其放在队列最后,等待所有语句执行完成之后,再立刻执行。

setinterval和settimeout的区别及用法(函数中如何设置参数)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除。
(0)
上一篇 2023年 2月 23日 下午4:40
下一篇 2023年 2月 23日 下午5:00

相关推荐

发表回复

登录后才能评论