weekCodeing / interview-answe

🌍 前端程序员训练 求星星 ✨ 各位同学可以在issues中提问,无论是实际项目中遇到的问题,或者是技术问题都可以, 大家一起解决💯 👍 😄。
http://www.dadaqianduan.cn/
76 stars 9 forks source link

40.介绍一下你对浏览器内核的理解? #40

Open webVueBlog opened 4 years ago

webVueBlog commented 4 years ago

主要分成两部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎

渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核

JS引擎则:解析和执行javascript来实现网页的动态效果

最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎

webVueBlog commented 4 years ago

There are two main parts: the layout engineer or Rendering Engine and the JS Engine

Rendering engine: responsible for taking the content of the page (HTML, XML, images, etc.), organizing the information (e.g., adding CSS), and calculating how the page will be displayed, which is then output to the monitor or printer. The browser's kernel will interpret the syntax of the page differently, so the rendering will be different. All web browsers, E-mail clients, and other applications that edit and display web content require a kernel

The JS engine parses and executes javascript to make the page dynamic

At first there was no clear distinction between the rendering engine and the JS engine, but as the JS engine became more and more independent, the kernel tended to refer only to the rendering engine