2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
window.location.href
不會(huì)立即就阻塞所有的代碼,這和alert
不一樣,它至少會(huì)等待一個(gè)頁(yè)面離開(kāi)事件,那么在同時(shí),代碼會(huì)往下執(zhí)行。
alert阻塞當(dāng)前代碼,這個(gè)沒(méi)啥好問(wèn)的吧,規(guī)定就是這樣,alert,confirm和prompt都是同步的,所以后面的代碼都會(huì)被阻塞。
ajax中的location.href不跳轉(zhuǎn)?
問(wèn)得不清楚,我查了類(lèi)似的關(guān)鍵字,這是你要的說(shuō)法,Artical,沒(méi)啥難理解的,submit的重定向在success回調(diào)之前。
如果你說(shuō)的不是這種情況,建議補(bǔ)充一下問(wèn)題

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
是異步的
因?yàn)?LocationChange 行為在瀏覽器內(nèi)核中是起定時(shí)器異步執(zhí)行的,代碼可以參見(jiàn) Chromium 源碼 NavigationScheduler::ScheduleFrameNavigation。異步執(zhí)行的好處是為了防止代碼調(diào)用過(guò)深,導(dǎo)致棧溢出,另外也是為了防止遞歸進(jìn)入加載邏輯,導(dǎo)致?tīng)顟B(tài)紊亂,保證導(dǎo)航請(qǐng)求是順序執(zhí)行的。
知乎上的答案
添加回答
舉報(bào)