https://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/#The_order_of_processing_scripts_and_style_sheets
1撤师、瀏覽器組件
? ?講了瀏覽器的幾大組件:
2貌夕、呈現(xiàn)引擎:(負(fù)責(zé)顯示請(qǐng)求的內(nèi)容)
主要講了呈現(xiàn)引擎的流程的分類狂票,webkit 跟gecko,以及他們的執(zhí)行流程
3、解析:包含解析器跟詞法分析器夺鲜。
里面講解了解析算法。其中解析算法分為兩個(gè)階段(標(biāo)記化和樹(shù)構(gòu)建)
4恤左、瀏覽器容錯(cuò):瀏覽器用戶量龐大的一個(gè)重要因素
5蔓肯、呈現(xiàn)樹(shù):
講解了呈現(xiàn)樹(shù)與dom的關(guān)系,解決了規(guī)則樹(shù)構(gòu)建的三個(gè)問(wèn)題:
(1)樣式數(shù)據(jù)是一個(gè)超大的結(jié)構(gòu)丽柿,可能會(huì)造成內(nèi)存問(wèn)題恢准。(通過(guò)樹(shù)狀繼承)
(2)應(yīng)用規(guī)則涉及到相當(dāng)復(fù)雜的層疊規(guī)則(通過(guò)樹(shù)狀繼承)
(3)規(guī)則匹配耗時(shí)耗cpu(通過(guò)hash解決)
6、布局:計(jì)算位置跟大小
分全局跟增量甫题。
布局可以優(yōu)化馁筐。
7、繪制:全量繪制跟增量繪制坠非。
8敏沉、事件循環(huán):
瀏覽器的主線程,它是一個(gè)無(wú)限循環(huán)炎码,永遠(yuǎn)處于接受處理的狀態(tài)盟迟,并等待事件發(fā)生。