赞
踩
分析浏览器引擎对 JS
代码的编译情况,并结合日常的 JavaScript
开发经验,重新理解底层的编译解析机制。对其底层原理的理解,将有助于理解前端的跨端应用,以及一套代码生成多种小程序相关框架的底层逻辑.
在开始前请先思考:
JavaScript
代码被执行分为哪几个阶段?AST
到底是做什么用的?当前百花齐放的编程语言,主要分为编译型语言和解释型语言。
像Java和 C++ 都是编译型语言;而 JavaScript和 ruby都是解释性语言,它们整体的执行速度都会略慢于编译型的语言。
为了提高运行效率,很多浏览器厂商在也在不断努力。目前市面上有很多种 JS 引擎,例如 JavaScriptCore、chakra、V8等。而比较现代的 JS引擎,当数 V8,它引入了 Java虚拟机和 C++ 编译器的众多技术,和早期的 JS引擎工作方式已经有了很大的不同。
V8 是众多浏览器的 JS 引擎中性能表现最好的一个,并且它是 Chrome 的内核,Node.js 也是基于 V8引擎研发的,V8引擎很具有代表性。
V8 引擎执行 JS代码都要经过哪些阶段
其中,生成 AST
、生成字节码、生成机器码是比较重要的三个阶段。
身为一名前端开发,肯定在日常工作中用过 Eslint
和 Babel
这两个工具,这些工具每个都和 AST
脱不了干系。V8
引擎就是通过编译器(Parse
ÿ
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。