nodejs和js之間有什麼區別?

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言.node

js(JavaScript)是一種高級的、解釋型的編程語言;它是一門基於原型、函數先行的語言,是一門多範式的語言,它支持面向對象編程,命令式編程,以及函數式編程。數據庫

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境,是一個讓 JavaScript 運行在服務端的開發平臺,它讓 JavaScript 成爲與PHP、Python、Perl、Ruby 等服務端語言分庭抗禮的腳本語言。編程

node.js與js的區別:瀏覽器

一、node.js是平臺,Js是編程語言;服務器

二、js是客戶端編程語言,須要瀏覽器的JavaScript解釋器進行解釋執行;網絡

三、node.js是一個基於Chrome JavaScript運行時創建的平臺,它是對Google V8引擎進行了封裝的運行環境;編程語言

四、node.js就是把瀏覽器的解釋器封裝起來做爲服務器運行平臺,用相似JavaScript的結構語法進行編程,在node.js上運行。函數式編程

五、node.js與js組成不一樣:函數

JavaScript:操作系統

  • ECMAScript(語言基礎,如:語法、數據類型結構以及一些內置對象)
  • DOM(一些操做頁面元素的方法)
  • BOM(一些操做瀏覽器的方法)

Node.js:

  • ECMAScript(語言基礎,如:語法、數據類型結構以及一些內置對象)
  • OS(操做系統)
  • file(文件系統)
  • net(網絡系統)
  • database(數據庫)

六、頂層對象不一樣

在JS中的頂層對象是window對象,可是在node中沒有什麼window對象,node中的頂層對象是global對象。這就是兩者的差別性。

在window對象中,定義一個全局變量是能夠經過Window來訪問的,可是在node中是不能經過global對象來訪問的,如:

var a=100;
console.log(global.a);

這種方式是輸出結果爲:

undefined

對於上面這個例子,由於在node中定義的變量是模塊中的對象,而並非global全局變量,因此結果爲undefined。

相關文章
相關標籤/搜索