美文网首页
JS浏览器渲染原理(JS引擎)

JS浏览器渲染原理(JS引擎)

作者: 听书先生 | 来源:发表于2022-04-25 22:31 被阅读0次

1、浏览器渲染过程

浏览器的渲染过程共分为几个过程:
JavaScript ——> Style ——> Layout ——> Paint ——> Composite

image.png
1.1. Layout阶段

计算DOM节点的最终样式,生成Layout tree,这棵树类似DOM树,树中记录了参与的页面的布局以及样式,节点的最终布局尺寸以及位置。

该阶段中主要是分为2个步骤:一个是样式计算,另外一个是生成布局对象(LayoutObject)

cssom.png
  • 浏览器计算样式的步骤:
    首先浏览器会遍历一遍DOM,然后在CSSOM中查找对应元素匹配的样式,找到对应的元素的样式定义的时候,接着进行CSS选择器优先级排序,得到对应元素最终计算后的样式,以类ComputedStyle体现出来。
    DOM遍历完之后,就会得到一个新的树,就是Layout阶段的Layout tree,这棵树虽然是从DOM树中构建而来,但并不是建立在DOM树上,也就是Layout tree有自己的根节点和孩子节点。
1.2.Paint阶段

该阶段会遍历Layout tree中的每个节点,根据节点布局方式和内容,调用节点的业务逻辑(比如:绘制Rect、Border、Text等),这些绘制结果以draw commands的形式保存下来。

1.3. 使用devtool查看渲染
image.png

蓝色的虚线之前表示触发了浏览器的DomContentLoaded事件,表示浏览器已经完成了对页面的解析工作,它对应的Main(JS线程)在这之前完成了对HTML的解析工作,该过程也就是Parse HTML阶段。

1.4、render树

html的dom树 + css style 生成了render树

image.png

2、V8引擎解析js代码

在解析js代码的过程中,主要历经三个过程,①通过parser解析器生成AST抽象语法树 ②通过interpreter将AST抽象语法树解析成机器能够识别的字节码 ③通过compiler编译器编译代码

相关文章

  • 小皆学前端—主流浏览器的内核浅析

    浏览器内核,包括浏览器渲染引擎和JS解析引擎。负责对网页的语法进行解释并渲染(渲染再我另外一篇文章浏览器的渲染原理...

  • js的补充

    浏览器分为: shell 内核 内核又分为: 渲染引擎(语法规则和渲染) JS引擎 其他模块 JS...

  • 基础知识 console.dir()

    1、浏览器执行过程:浏览器有两部分组成,渲染引擎和js引擎。渲染引擎解析html和css。js引擎是逐行解释执行。...

  • async 和 defer

    HTML加载过程 1. 两个引擎 浏览器的引擎可以分为渲染引擎和 JS 引擎。 JS 引擎相对独立,而渲染引擎又包...

  • 浏览器内核、渲染引擎、js引擎

    浏览器内核可以分为两部分:渲染引擎和JS引擎最开始渲染引擎和js*引擎并没有区分的很明确,后来JS引擎越来越独立,...

  • 【浏览器内核】渲染引擎、JavaScript引擎

    浏览器内核 浏览器内核 又可以分成两部分:渲染引擎 和 JS引擎。 渲染引擎 渲染引擎 主要包括: HTML 解释...

  • node.js---学习笔记

    是神马? 当js运行在浏览器上,浏览器的内核分为两部分:渲染引擎与js引擎。而渲染引擎主要负责html+css,j...

  • js1

    一.浏览器组成: 1.shell 2.内核: •渲染引擎(语法规则和渲染) •JS引擎 •其他模块 二.JS的特点...

  • 浏览器内核简单介绍

    浏览器内核的理解 主要组成:渲染引擎(Rendering Engine) 和 JS 引擎 渲染引擎:主要负责取得网...

  • Web 编程 小结 -1

    浏览器 渲染引擎 内核 Webkit 苹果开源JS渲染引擎 内核 V8 Google开源通信 ...

网友评论

      本文标题:JS浏览器渲染原理(JS引擎)

      本文链接:https://www.haomeiwen.com/subject/rxvqertx.html