提及Node就不得不先介绍一个Chrome V8 引擎。node
随着Web相关技术的发展,JavaScript所要承担的工做也愈来愈多,早就超越了“表单验证”的范畴,这就更须要快速的解析和执行JavaScript脚本。 而JavaScript本质上是一种解释型语言,与编译型语言不一样的是它须要边执行边解析,而编译型语言在执行时已经完成编译,可直接执行,有更快的执行速度。V8引擎就是为解决这一问题而生,在node中也是采用该引擎来解析JavaScript。linux
V8引擎是一个JavaScript引擎实现,最初由一些语言方面专家设计,后被谷歌收购,随后谷歌对其进行了开源。V8使用C++开发,,在运行JavaScript以前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(IA-32, x86-64, ARM, or MIPS CPUs),而且使用了如内联缓存(inline caching)等方法来提升性能。有了这些功能,JavaScript程序在V8引擎下的运行速度媲美二进制程序。V8支持众多操做系统,如windows、linux、android等,也支持其余硬件架构,如IA32,X64,ARM等,具备很好的可移植和跨平台特性。android
另外,JavaScript引擎的执行过程大体是: 源代码-→抽象语法树-→字节码-→JIT-→本地代码(V8引擎没有中间字节码)。在2017年4月底,v8 发布了5.9 版本,在此版本中新增了一个 Ignition 字节码解释器,并默认开启。作出这一改变的缘由为:(主要动机)减轻机器码占用的内存空间,即牺牲时间换空间;提升代码的启动速度;对 v8 的代码进行重构,下降 v8 的代码复杂度。windows
接着简单介绍一下Node,官网:http://nodejs.cn/api/api
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。浏览器