js的settimeout方法 settimeout和setinterval的區(qū)別?
settimeout和setinterval的區(qū)別?SetTimeout只運行一次,也就是說,當(dāng)設(shè)置的時間到達(dá)時,指定的代碼會被觸發(fā)運行,運行后會結(jié)束。如果在正在運行的代碼中再次運行相同的setTim
settimeout和setinterval的區(qū)別?
SetTimeout只運行一次,也就是說,當(dāng)設(shè)置的時間到達(dá)時,指定的代碼會被觸發(fā)運行,運行后會結(jié)束。如果在正在運行的代碼中再次運行相同的setTimeout命令,則可以對其進(jìn)行循環(huán)。Setinterval在循環(huán)中運行,也就是說,每個設(shè)置的時間間隔都會觸發(fā)指定的代碼。這是真正的計時器。Setinterval易于使用,而setTimeout更靈活。它可以在任何時候退出循環(huán),并且可以設(shè)置為以不規(guī)則的間隔運行,例如第一次運行1秒,第二次運行2秒,第三次運行3秒
因為輪到異步隊列執(zhí)行同步隊列的for循環(huán)了。每次執(zhí)行for循環(huán)時,都會執(zhí)行setTimeout,但不會執(zhí)行函數(shù)(閉包函數(shù))。相反,它被放入任務(wù)隊列中等待執(zhí)行。當(dāng)我累積到5時,它跳出循環(huán)。此時,只有一個全局變量i=>5,因此它將輸出5。