相信大家接触前端开发一段时间后,会发现越学习越迷茫,亦或者疑问点越来越多。(摸鱼摸的累了不如摸摸石头过过河 --)
举几个例子:
大家都知道js是单线程的,但是它为什么是单线程的? 浏览器是不是也是单线程?
相信大家看到过不少相关的内容比如:《从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理》《深入浅出JS引擎》等等这些优秀的博客讲解。但是多少对一些细节还是存有迷惑。甚至是一些非科班的同学可能看过之后就慢慢遗忘了。。。
其次还有一点就是个人认为碎片化的知识并不一定能陪伴你走的长久(520快乐!!)更希望的是能够全面的了解。这也是本系列博客的一个出发点,让我们一起探索浏览器幕后的三俩事。
本系列尽可能的将术语进行大白话的方式解释。关于一些术语定义概念问题也会贴出参考链接提供给需要的人。
随我梳理一下浏览器到底包含那些东西,以及一直耳熟能详的模块里面到底存在什么秘密。
浏览器是用来检索、展示以及传递Web
信息资源的应用程序。注意和SEO
(搜索引擎)进行区分。
按chrome(准确来说chromium)进行介绍说明 想找图来贴 但是怕太复杂不太好理解。完事画个简单的贴上来。
注意: 浏览器是多进程多线程架构,后续会对内部实现做一个简单认知(不会太脱离前端)。
ps:图来源网络 侵删请留言。
UserInterface
用户界面 - 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的您请求的页面外,其他显示的各个部分都属于用户界面。在浏览器中,有一个最重要的模块,它主要的作用是将页面转变成可视化(准确讲还要加上可听化)的图像结果,这就是浏览器内核。通常,它也被称为渲染引擎。常见的内核包括:
我们常说的谷歌浏览器/nodejs的v8引擎,注意它不是渲染引擎,V8是js引擎,是用来编译和执行js代码。
JavaScript引擎是一个专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中。通常被称为js引擎,举几个引擎(好几次问面试者 你知道除了v8之外还有什么JS引擎吗?几乎是全军覆没。。):
后续会展开介绍V8
ps:图来源网络 侵删请留言。
简化理解起来就是:
预知后事如何请听下次分解。
首先呢回顾一下今天 总体来说挺开心,朋友圈社交圈比往年安静祥和许多。所以决定写写文章回报广大单身贵族和奋战在一线的你们。
还有答应的系列内容一定会有后续。JS引擎内部 渲染引擎 网络等等这些必须写。
最后再次祝大家5,20快乐。希望明天5,21继续祥和~
"下课!"
前言 现在不管是桌面客户端还是移动客户端,都会夹杂着一部分H5页面,这种混合式...
CSS 是样式、布局和表示的领域。它充斥着颜色、大小和动画。但是你知道吗,它还...
默认uni-app打包出来的H5在Android上是没法播放.m3u8直播流的,控制台或报错 Unc...
一、反常的SQL语句 某周四午休时分,我正在工位上小憩,睡梦中仿佛看到了自己拿...
企业内部H5微应用开发 分为 服务端API和前端API的开发,主要涉及到进入应用免登...
一只小奶狗会有名字、品种以及一堆可爱的特点作为其属性。如果将其建模为一个类...
至上一回分解完淘宝详情页( 点击查看 )后,再写了一篇关于商城基础模板装修首页...
qq空间有欢迎动画,想要给网页制作一个开场动画效果,该怎么制作呢?下面我们就...
大家都知道网页中必须要有图片,那么具体的该如何在网页设计中加入图片呢?下面...
css-vars-ponyfill 通过css变量来实现网页换肤的过程中,会出现兼容性问题。 为...