在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ settimeout遞歸實(shí)現(xiàn)定時(shí)器才做和setinterval有什么區(qū)別?

settimeout遞歸實(shí)現(xiàn)定時(shí)器才做和setinterval有什么區(qū)別?

這兩個(gè)性能上有沒有什么區(qū)別呢?
長(zhǎng)時(shí)間執(zhí)行會(huì)不會(huì)因?yàn)閷?duì)內(nèi)存的消耗而卡死呢?
在平時(shí)用的時(shí)候,應(yīng)該首選用settimeout遞歸實(shí)現(xiàn)還是直接用setinterval呢?

回答
編輯回答
悶油瓶

1、性能區(qū)別不大。
2、基本上不會(huì)的。
3、如果只是延遲執(zhí)行一次,就用settimeout,否則用setinterval

2017年5月27日 12:50
編輯回答
眼雜

記得老版本的 IE 使用 setInterval 的話,一旦窗口最小化再回來,就會(huì)在瞬間一股腦執(zhí)行這期間堆積的回調(diào),所以我一直以為這就是 setInterval 的毛病,長(zhǎng)時(shí)間拒絕食用 setInterval。后來發(fā)現(xiàn)現(xiàn)代瀏覽器并不會(huì)存在這個(gè)問題?

性能和內(nèi)存開銷不存在差異的,做動(dòng)畫的 requestAnimationFrame 就是類似遞歸 setTimeout ?。?setTimeout 做 fallback 不是嗎?)。所以適合遞歸的就用 setTimeout 遞歸,沒什么明顯遞歸特性就用 setInterval。但是他倆還是有區(qū)別的,試想如果每 1000ms 需要執(zhí)行一次任務(wù),每次任務(wù)執(zhí)行耗時(shí) 100ms,那么遞歸 setTimeout 和直接 setInterval 區(qū)別就體現(xiàn)出來啦。

2018年9月3日 15:02