瀏覽器對html、css和javascript的決議程序,對于前端學習相關知識的理解很有幫助,畢竟萬丈高樓平地起嗎,而且面試的時候很容易會問到瀏覽器決議程序的
🍔html+css渲染
前端頁面實際上都是一些html代碼,瀏覽器會通過html parse對html代碼進行決議,生成dom樹,css一樣會進行決議然后通過attachment將html和css進行復加,生成render tree渲染樹和layout tree布局樹,兩者結合起來進行繪制,便能在瀏覽器上看見展示的頁面了,

當執行程序中遇到jacascript代碼時會停止html決議,去加載JavaScript代碼,因為JavaScript代碼會操作dom,使dom樹發生改變,
🍕javascript決議機制
javascript是高級語言,javascript引擎的作用就是將他們轉換為匯編語言再轉換為計算機能認識的機器語言

🍬javascript引擎決議Javascript代碼會先將其抽象成語法樹,決議器識別后決議成位元組碼,然后再決議成匯編代碼,匯編代碼再決議計算機能識別的機器語言,最后cpu執行,
🍬谷歌的v8引擎會在收集到足夠的代碼資訊后直接將抽象語法樹優化成機器碼(這會省去后面的程序,極大的加快瀏覽器對JavaScript的決議時間),當收集到的代碼資訊突然發生改變時,優化后的機器碼會反向優化成位元組碼,防止錯誤,也就是紅線的路徑,比如javascript傳入的sun()函式一直都是number型別,突然變成了string就會反向優化成位元組碼
🍟chrome瀏覽器決議程序

當瀏覽器決議完html、css和javascript之后,中間層會根據他們發起的請求呼叫作業系統進行相應的操作,如檔案讀取等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/290111.html
標籤:其他
