NodeJS 分享 - Javascript 引擎

今天分享一下 JavaScript Engine. Javascript 在Nodejs問(wèn)世以前,一直是用在游覽器上面的。 但是可能沒(méi)有人,可以想象到Nodejs可以運(yùn)用到服務(wù)后臺(tái)的程序處理。 這個(gè)問(wèn)題得到了解決,一直到V8 Javascript 引擎 的出現(xiàn)。

該JavaScript引擎已用于其它項(xiàng)目的開發(fā)。第一個(gè)版本隨著第一個(gè)版本的Chrome于2008年9月2日發(fā)布。

V8使用C++開發(fā),并在谷歌瀏覽器中使用。在運(yùn)行JavaScript之前,相比其它的JavaScript的引擎轉(zhuǎn)換成字節(jié)碼解釋執(zhí)行,V8將其編譯成原生機(jī)器碼IA-32, x86-64, ARM, or MIPS CPUs),并且使用了如內(nèi)聯(lián)緩存(inline caching)等方法來(lái)提高性能。有了這些功能,JavaScript程序在V8引擎下的運(yùn)行速度媲美二進(jìn)制程序。

V8中實(shí)現(xiàn)的ECMAScript中指定 ECMA - 262 ,第3版 運(yùn)行在Windows XP和Vista,Mac OS X的10.5(雪豹和Linux系統(tǒng)使用IA - 32或ARM處理器。

V8可以獨(dú)立運(yùn)行,也可以 嵌入 到任何C++應(yīng)用程序。項(xiàng)目托管在Google Code上 [1] ,基于BSD協(xié)議,任何組織或個(gè)人可以將其源碼用于自己的項(xiàng)目中。

簡(jiǎn)單來(lái)講, 電腦并不明白JavaScript, V8 引擎把javascript轉(zhuǎn)換成電腦可以明白的 machine code. 這樣電腦就可以執(zhí)行javacript的指令。

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

image.png

Nodejs 和V8 引擎 是C++寫的。這使得NodeJS可以使用V8引擎。
當(dāng)我們編寫JavaScript并通過(guò)NodeJS運(yùn)行它的時(shí)候,它被傳遞到V8并轉(zhuǎn)化成計(jì)算機(jī)可以理解。 現(xiàn)在了解V8只是NodeJS的一部分,NodeJS的其他部分也用C++編寫,所以她們是做什么的呢?NodeJS中其余的C++功能都可以連接到JavaScriptV8引擎, 這樣添加了附加的功能。 最初設(shè)計(jì)為運(yùn)行JavaScript是在游覽器中,它不是要處理比較低級(jí)別的操作, 而是C++來(lái)運(yùn)行那些附加的功能。所以它比JavaScript要強(qiáng)大。

image.png

NodeJS是用C++編寫到V8引擎中, 并將其擴(kuò)展到很多附加功能給JavaScript,比如讀取文件和鏈接到數(shù)據(jù)庫(kù)。 所以這些特征讓NodeJS令人興奮的事實(shí)。 現(xiàn)在的NodeJS比以前的JavaScript用了更大的能力和功能。 因此它使我們能夠建造服務(wù)器端的代碼, 這真的是很酷炫。 我想你現(xiàn)在對(duì)NodeJS和V8有了大致的了解以及如何使。
希望你可以了解并獲得更大的動(dòng)力來(lái)使用NodeJS在你的工作中。

接下來(lái),我會(huì)繼續(xù)和你來(lái)一個(gè)NodeJS的旅程。希望可以是我們成為一個(gè)真正的NodeJS的精英。

我們會(huì)學(xué)習(xí)到一下

  • Modules
  • Event Emitter
  • The File System
  • Routing
  • Express
  • Templating
    最后我們一起來(lái)做一個(gè)ToDo App。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容