相信你們接觸前端開發一段時間後,會發現越學習越迷茫,亦或者疑問點愈來愈多。(摸魚摸的累了不如摸摸石頭過過河 --)前端
舉幾個例子:
你們都知道js是單線程的,可是它爲何是單線程的? 瀏覽器是否是也是單線程?node
相信你們看到過很多相關的內容好比:《從瀏覽器多進程到JS單線程,JS運行機制最全面的一次梳理》《深刻淺出JS引擎》等等這些優秀的博客講解。可是多少對一些細節仍是存有迷惑。甚至是一些非科班的同窗可能看過以後就慢慢遺忘了。。。
其次還有一點就是我的認爲碎片化的知識並不必定能陪伴你走的長久(520快樂!!)更但願的是可以全面的瞭解。這也是本系列博客的一個出發點,讓咱們一塊兒探索瀏覽器幕後的三倆事。面試
本系列儘量的將術語進行大白話的方式解釋。關於一些術語定義概念問題也會貼出參考連接提供給須要的人。
隨我梳理一下瀏覽器到底包含那些東西,以及一直耳熟能詳的模塊裏面到底存在什麼祕密。
瀏覽器是用來檢索、展現以及傳遞Web
信息資源的應用程序。注意和SEO
(搜索引擎)進行區分。chrome
按chrome(準確來講chromium)進行介紹說明 想找圖來貼 可是怕太複雜不太好理解。完事畫個簡單的貼上來。
注意: 瀏覽器是多進程多線程架構,後續會對內部實現作一個簡單認知(不會太脫離前端)。後端
ps:圖來源網絡 侵刪請留言。瀏覽器
UserInterface
用戶界面 - 包括地址欄、前進/後退按鈕、書籤菜單等。除了瀏覽器主窗口顯示的您請求的頁面外,其餘顯示的各個部分都屬於用戶界面。在瀏覽器中,有一個最重要的模塊,它主要的做用是將頁面轉變成可視化(準確講還要加上可聽化)的圖像結果,這就是瀏覽器內核。一般,它也被稱爲渲染引擎。常見的內核包括:網絡
咱們常說的谷歌瀏覽器/nodejs的v8引擎,注意它不是渲染引擎,V8是js引擎,是用來編譯和執行js代碼。
JavaScript引擎是一個專門處理JavaScript腳本的虛擬機,通常會附帶在網頁瀏覽器之中。一般被稱爲js引擎,舉幾個引擎(好幾回問面試者 你知道除了v8以外還有什麼JS引擎嗎?幾乎是全軍覆沒。。):多線程
後續會展開介紹V8架構
ps:圖來源網絡 侵刪請留言。異步
簡化理解起來就是:
預知後事如何請聽下次分解。
首先呢回顧一下今天 整體來講挺開心,朋友圈社交圈比往年安靜祥和許多。因此決定寫寫文章回報廣大單身貴族和奮戰在一線的大家。
還有答應的系列內容必定會有後續。JS引擎內部 渲染引擎 網絡等等這些必須寫。
最後再次祝你們5,20快樂。但願明天5,21繼續祥和~
"下課!"