理論上,既然樣式表不改變 DOM 樹(shù),也就沒(méi)有必要停下文檔的解析等待它們。然而,存在一個(gè)問(wèn)題,JavaScript 腳本執(zhí)行時(shí)可能在文檔的解析過(guò)程中請(qǐng)求樣式信息,如果樣式還沒(méi)有加載和解析,腳本將得到錯(cuò)誤的值,顯然這將會(huì)導(dǎo)致很多問(wèn)題。
所以如果瀏覽器尚未完成 CSSOM 的下載和構(gòu)建,而我們卻想在此時(shí)運(yùn)行腳本,那么瀏覽器將延遲 JavaScript 腳本執(zhí)行和文檔的解析,直至其完成 CSSOM 的下載和構(gòu)建。也就是說(shuō),在這種情況下,瀏覽器會(huì)先下載和構(gòu)建 CSSOM,然后再執(zhí)行 JavaScript,最后再繼續(xù)文檔的解析。