你的线上办公软件
arse模块会将JavaScript代码转换成AST(抽象语法树),这是因为解释器并不直接认识JavaScript代码;
Ignition是一个解释器,会将AST转换成ByteCode(字节码);
TurboFan是一个编译器,可以将字节码编译为CPU可以直接执行的机器码;
上面是JavaScript代码的执行过程,事实上V8的内存回收也是其强大的另外一个原因;
编程语言会大体分为两大类:
上述情况对应的是JavaScript解释性语言的大体执行流程,但编译性语言往往不是,比如C++,例如系统内的某些应用程序用C++编写的,它们在执行的时候会直接转化为机器语言(二进制格式010101),并交给CPU统一执行,这样的运行效率自然相对较高了些。 但V8也对解释性的编程语言做了一个优化,就是上文提到的TurboFan优化编译器,如果一个JavaScript函数被多次调用,那么它就会经过TurboFan抓成优化后的机器码,交由CPU执行,提高代码的执行性能。 回顾:Node.js是什么 回顾:官方对Node.js的定义: Node.js是一个基于V8 JavaScript引擎的JavaScript运行时环境。 也就是说Node.js基于V8引擎来执行JavaScript的代码,但是不仅仅只有V8引擎:
来执行JavaScript代码;
操作; PS:在后面的文章我们,我会带领大家逐步探索Node.js的世界... 浏览器和Node.js架构区别
简单对比一下Node.js和浏览器架构的差异: (编辑:广安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |