NodeJS 分享 - Javascript 引擎

今天分享一下 JavaScript Engine. Javascript 在Nodejs问世以前,一直是用在游览器上面的。 但是可能没有人,可以想象到Nodejs可以运用到服务后台的程序处理。 这个问题得到了解决,一直到V8 Javascript 引擎 的出现。

该JavaScript引擎已用于其它项目的开发。第一个版本随着第一个版本的Chrome于2008年9月2日发布。

V8使用C++开发,并在谷歌浏览器中使用。在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(IA-32, x86-64, ARM, or MIPS CPUs),并且使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,JavaScript程序在V8引擎下的运行速度媲美二进制程序。

V8中实现的ECMAScript中指定 ECMA - 262 ,第3版 运行在Windows XP和Vista,Mac OS X的10.5(雪豹和Linux系统使用IA - 32或ARM处理器。

V8可以独立运行,也可以 嵌入 到任何C++应用程序。项目托管在Google Code上 [1] ,基于BSD协议,任何组织或个人可以将其源码用于自己的项目中。

简单来讲, 电脑并不明白JavaScript, V8 引擎把javascript转换成电脑可以明白的 machine code. 这样电脑就可以执行javacript的指令。

Javascript -> C++ > Assembly Language -> Machine code

image.png

Nodejs 和V8 引擎 是C++写的。这使得NodeJS可以使用V8引擎。
当我们编写JavaScript并通过NodeJS运行它的时候,它被传递到V8并转化成计算机可以理解。 现在了解V8只是NodeJS的一部分,NodeJS的其他部分也用C++编写,所以她们是做什么的呢?NodeJS中其余的C++功能都可以连接到JavaScriptV8引擎, 这样添加了附加的功能。 最初设计为运行JavaScript是在游览器中,它不是要处理比较低级别的操作, 而是C++来运行那些附加的功能。所以它比JavaScript要强大。

image.png

NodeJS是用C++编写到V8引擎中, 并将其扩展到很多附加功能给JavaScript,比如读取文件和链接到数据库。 所以这些特征让NodeJS令人兴奋的事实。 现在的NodeJS比以前的JavaScript用了更大的能力和功能。 因此它使我们能够建造服务器端的代码, 这真的是很酷炫。 我想你现在对NodeJS和V8有了大致的了解以及如何使。
希望你可以了解并获得更大的动力来使用NodeJS在你的工作中。

接下来,我会继续和你来一个NodeJS的旅程。希望可以是我们成为一个真正的NodeJS的精英。

我们会学习到一下

  • Modules
  • Event Emitter
  • The File System
  • Routing
  • Express
  • Templating
    最后我们一起来做一个ToDo App。

你可能感兴趣的:(NodeJS 分享 - Javascript 引擎)