0
点赞
收藏
分享

微信扫一扫

V8引擎的渲染过程&&js的变量提升

圣杰 2022-01-24 阅读 66

浏览器的渲染过程

HTML文件 的执行过程

在这里插入图片描述在浏览器加载HTML文件的时候,遇到js标签,会停止解析HTML,去加载和执行javascript代码

javascript代码的执行需要依靠V8引擎
javascript代码属于高级语言,计算机只能识别机器语言(010100),或者说计算机的CPU只能执行指令

V8引擎解析javascript的过程

在这里插入图片描述
javascript代码被解析的详细过程(parse):

  1. Blink将源码交给V8引擎,Stream获取到源码并且进行编码转化

  2. Scanner进行词法分析,词法分析会将代码转换成tokens

  3. 接下来tokens会被转换成AST树,经过Parser和PreParser(预编译)
    Parser就是直接将token转换成AST树架构
    PreParser预编译理解

4.生成AST树后,会被Ignition转换成字节码,之后就是代码执行过程

代码执行过程

1、代码准备过程
 var tt='ttt'
  function foo(){
    console.log(tt)
    var gg='gg'
    var mm='mm'
  }
  var oo='oo'

编译过程(只分析变量):
在这里插入图片描述函数解析过程生成了AO对象,在ECStock里边生成了自己的函数执行上下文FEC(Function)
在这里插入图片描述

2、代码执行过程

在这里插入图片描述

举报

相关推荐

0 条评论