node與js的關系


Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境,是一個讓 JavaScript 運行在服務端的開發平台,它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的腳本語言。

JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言。js(JavaScript)是一種高級的、解釋型的編程語言;它是一門基於原型、函數先行的語言,是一門多范式的語言,它支持面向對象編程,命令式編程,以及函數式編程。

傳統的js是運行在瀏覽器上的,因為瀏覽器內核分為兩個部分:

  • 渲染引擎---渲染HTML和CSS
  • JavaScript 引擎---負責運行 JavaScript

如果要執行JavaScript代碼,需要一個js引擎,你可以安裝一個瀏覽器(內置js引擎),或nodejs環境(內置js引擎),如果你在js代碼中調用了瀏覽器提供的API,則必須安裝一個瀏覽器,若調用了nodejs API,則必須安裝nodejs環境,然后以各自規定的方式加載、執行JavaScript代碼。

node.js與js的區別:

1、node.js是平台,Js是編程語言;

2、js是客戶端編程語言,需要瀏覽器的JavaScript解釋器進行解釋執行;

3、node.js是一個基於Chrome JavaScript運行時建立的平台,它是對Google V8引擎進行了封裝的運行環境;

4、node.js就是把瀏覽器的解釋器封裝起來作為服務器運行平台,用類似JavaScript的結構語法進行編程,在node.js上運行。

5、node.js與js組成不同

JavaScript:

  • ECMAScript(語言基礎,如:語法、數據類型結構以及一些內置對象)

  • DOM(一些操作頁面元素的方法)

  • BOM(一些操作瀏覽器的方法)

Node.js:

  • ECMAScript(語言基礎,如:語法、數據類型結構以及一些內置對象)

  • OS(操作系統)

  • file(文件系統)

  • net(網絡系統)

  • database(數據庫)

6、頂層對象不同

在JS中的頂層對象是window對象,但是在node中沒有什么window對象,node中的頂層對象是global對象。這就是二者的差異性。

在window對象中,定義一個全局變量是可以通過Window來訪問的,但是在node中是不能通過global對象來訪問的

優缺點:

1.原生js運行文件依賴於瀏覽器;

2.nodejs運行文件的時候服務為終端;

3.原生js有兼容性問題,nodejs不存在兼容性問題;

4.nodejs可以進行本地的讀寫,服務器搭建,連接數據庫等,而原生js無法做到。

(1)使用node開發還可以使用node自有配套的npm包管理工具:
npm是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
允許用戶從npm服務器下載別人編寫的第三方包到本地使用。
允許用戶從npm服務器下載並安裝別人編寫的命令行程序到本地使用。
允許用戶將自己編寫的包或命令行程序上傳到npm服務器供別人使用。

Node.js 的使用包管理器 npm來管理所有模塊的安裝、配置、刪除等操作,使用起來非常方便。

(2)node本身就是一個服務端的框架,對於一些簡單的項目,我們可以不需要后端配合,直接用node進行數據庫的增刪改查(但是我們一般不使用這個功能);
(3)nodejs是一個服務js平台,有自身帶的npm(基於 Node.js的前端項目包管理工具),有第三方的grunt(基於 Node.js的前端項目構建工具即即腳手架)、有第三方的express(路由功能)等強大的代碼與項目管理應用。還有自身帶的webpack(基於 Node.js的前端項目部署打包工具),v8(谷歌客戶端瀏覽器javascript引擎)等強大的功能。
npm(包管理工具)是基於 Node.js的前端項目包管理工具,是項目中對各種程序包的依賴管理,傳統的開發項目主要是后端,現在技術在更新,前端有了框架的開發模式管理,也需要用包管理工具的思想去管理,目的是簡化第三方程序包在項目中引用復雜化。前端的js包是全世界JavaScript 天才開發共享的各種代碼模塊,把這些代碼模塊都按照一個獨立的軟件功能統一在一個庫中,一個代碼模塊是一個程序包(package,即代碼模塊)。

詳述:

就前端來說nodejs具有划時代的意義,

做前端的沒用過nodejs都不好意思說自己是前端,

做后端的沒聽過nodejs,

或者說不出nodejs和java的優缺點,也不是一個合格的后端。

nodejs不是一個js框架,千萬不要認為是類似jquery的框架,

nodejs是js運行時,運行環境,類比java中jvm,

java的開端是什么,無疑是jvm,自從有了jvm,java才能吹牛說自己是“一次編寫處處運行”,

不管你是windows還是linux,只要安裝了對應版本的jvm都可以運行.class文件。

同樣nodejs的作用和jvm的一樣一樣的,也是js的運行環境,不管是你是什么操作系統,

只要安裝對應版本的nodejs,那你就可以用js來開發后台程序。

這具有划時代的意義,意味着一直以來只能在瀏覽器上玩來玩去的js,可以做后端開發了,

從有了nodejs后就催生出一大批用js做后台開發的前端人員,這部分人員就是偏前端的“全棧程序員”。

記住,nodejs是和jvm同等地位的js運行環境,打開了前端人員走向后端的道路。


免責聲明!

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



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