tft每日頭條

 > 生活

 > js創建定時器

js創建定時器

生活 更新时间:2024-07-31 22:21:30
setTimeout()和setInterval()

JS有兩種定時器分别是setTimeout()和setInterval(),這兩個區别就是setTimeout()是一次性的定時器,而setInterval()是循環的定時器。

js創建定時器(js中的兩種定時器setTimeout)1

js創建定時器(js中的兩種定時器setTimeout)2

js創建定時器(js中的兩種定時器setTimeout)3

定時器的精度

js中的定時器精度并不準确,這是因為JS中的定時器僅僅是将執行的語句加入隊列,這樣在定時器之前的語句若是在循環或者有延遲的情況下,定時器也會相應的延後。

對于性能的消耗

上面提到了js中的定時器精度不準确的原因,同樣的這也會導緻使用setTimeInterVal語句會卡頓,其不管語句是否執行完成,都會在時間點執行語句。

實際上大多數的場景中,隻是想要定時之後執行完語句再等待定時的觸發,完全可以使用setTimeOut搭配clearTimeout這樣在使用定時器之後進行消除再加一個循環,總和性能比單純的setTimeInterVal要好上不少。

可執行字符串形式語句

由于曆史原因,兩種定時器都支持eval的效果,可以執行字符串形式的語句。

js創建定時器(js中的兩種定時器setTimeout)4

若定時時間為0則放在隊列最後執行

如果将定時為0秒後執行,語句并不會立刻執行,而是将其放在隊列最後,等待所有語句執行完成之後,再立刻執行。

js創建定時器(js中的兩種定時器setTimeout)5


,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved