相信你们接触前端开发一段时间后,会发现越学习越迷茫,亦或者疑问点愈来愈多。(摸鱼摸的累了不如摸摸石头过过河 --)前端
举几个例子:
你们都知道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继续祥和~
"下课!"