node.js和JavaScript的關系


node.js是一個基於 Chrome V8 引擎的 JavaScript 運行時環境。

一、類比JavaScript和java

JavaScript java
V8 JVM
node.js JRE
  • JavaScript和java都是一門編程語言,至於兩者的關系,是雷鋒和雷峰塔的關系
  • V8是google開源的JavaScript引擎,用於執行JavaScript,類似JVM執行java字節碼。在node.js誕生之前,V8是內置於Chromium中的,現在也內置於node.js中
  • node.js=V8+內置基本模塊(大多用JavaScript編寫),類似JRE=JVM+java標准庫
  • node.js誕生之前,JavaScript只能運行於瀏覽器,現在也可以在服務器端運行於node.js

二、翻譯一段Quora回答

下面翻譯一段Quora上What is the difference between JavaScript and Node.js問題下Mattias Petter Johansson的回答

  • JavaScript是一門語言
  • node.js不是一門語言,也不是一種特殊的JavaScript方言 - 它僅僅就是用於運行普通JavaScript代碼的東西
  • 所有瀏覽器都有運行網頁上JavaScript的JavaScript引擎。Firefox有叫做Spidermonkey的引擎,Safari有JavaScriptCore,Chrome有V8
  • node.js就是帶有能操作I/O和網絡庫的V8引擎,因此你能夠在瀏覽器之外使用JavaScript創建shell腳本和后台服務或者運行在硬件上

三、瀏覽器端和服務器端JavaScript組成區別

瀏覽器端:

  • ECMAScript,描述了JavaScript語言的語法和基本對象
  • 文檔對象模型(DOM),描述處理網頁內容的方法和接口
  • 瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法和接口

服務器端:

  • ECMAScript
  • node.js內置模塊:文件系統I/O、網絡(HTTP、TCP、UDP、DNS、TLS/SSL等)、二進制數據流、加密算法、數據流等等

四、參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM