我们来看下官方对V8引擎的定义:

简单说一下就是:V8引擎是C++编写的开源引擎,用于Chrome和Node.js去执行js代码,可以独立运行,也可以嵌入在C++应用程序中
那V8引擎是如何去执行js代码?

- 首先javaScript源代码,会经过
paser模块,被解析成AST抽象语法树(因为解释器并不认识javaScript代码)- 那在转成parse的这个过程中发生了什么呢?其实主要是词法分析和语法分析
词法分析:会把代码分成一个个不能细分的单词(token),这些token组成tokens数组 如const name="foo"分别是const、name、foo,这个过程是词法分析,按照单词的构成规则来拆分字符串成单词。我们来看下图 - 语法分析:把 token 进行组装,生成 AST,这个过程是语法分析,按照不同的语法结构,来把一组单词组合成对象。我们来一起看下图
这里附上AST语法解析官网链接 &#
- 那在转成parse的这个过程中发生了什么呢?其实主要是词法分析和语法分析

本文介绍了V8引擎的基本概念,它是C++编写的开源引擎,用于执行JavaScript代码。V8引擎通过词法分析和语法分析将源代码转换成AST抽象语法树,然后通过lgnition解释器解释成字节码。对于热点函数,turbofan将其编译成优化的机器码以提高性能。文章还讨论了为何先转成字节码而非直接生成机器码的原因,并鼓励读者深入学习。
最低0.47元/天 解锁文章
2345

被折叠的 条评论
为什么被折叠?



