1毡咏、setTimeout和setInterval兩者的返回值Id是唯一的窃祝,用于取消定時(shí)器桩了。
2蔓挖、兩者用于循環(huán)執(zhí)行時(shí)的區(qū)別:
(1)setTimeout(fn夕土,time):每間隔time毫秒,將fn放入定時(shí)任務(wù)的線程瘟判。假設(shè)time是5ms怨绣,則進(jìn)程開始時(shí),執(zhí)行到此時(shí)拷获,將fn加入定時(shí)任務(wù)隊(duì)列(這有不對的請幫忙給我指出來篮撑,我有一篇文章是講解瀏覽器的渲染過程,說到j(luò)s的執(zhí)行機(jī)制匆瓜,鏈接:http://www.reibang.com/writer#/notebooks/40531328/notes/61774246)赢笨,等主線程空閑,且此時(shí)距離加入定時(shí)任務(wù)隊(duì)列的時(shí)間大于等于5ms驮吱,為什么會(huì)出現(xiàn)大于5毫秒茧妒,因?yàn)橹骶€程可能出現(xiàn)阻塞。此時(shí)有setTimeout制作任務(wù)循環(huán)左冬,即使主線程發(fā)生阻塞桐筏,也不會(huì)一直想定時(shí)任務(wù)隊(duì)列添加定時(shí)任務(wù)。
(2)setInterval(fn拇砰,time):每個(gè)time時(shí)間向定時(shí)任務(wù)隊(duì)列添加定時(shí)任務(wù)梅忌。如果主線程發(fā)生阻塞,定時(shí)任務(wù)也會(huì)間隔time時(shí)間后除破,向定時(shí)任務(wù)隊(duì)列添加執(zhí)行任務(wù)铸鹰。