js和node.js的區別是什嗎?js與node.js異同總結

來源:互聯網
上載者:User
關於node.js和javascript的區別你知道嗎?關於node.js與javascript的相同點你又知道嗎?要是都不知道,那還不快來看這篇文章,你還在等什麼,現在就看吧

一、我們先看看js和node.js的對比情況:

JavaScript:

ECMAScript(語言基礎,如:文法、資料類型結構以及一些內建對象)

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

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

上面是JavaScript的組成部分,那麼Nodejs呢?

Nodejs:

ECMAScript(語言基礎,如:文法、資料類型結構以及一些內建對象)

os(作業系統)

file(檔案系統)

net(網路系統)

database(資料庫)

分析:很容易看出,前端和後端的js相同點就是,他們的語言基礎都是ECMAScript,只是他們所擴充的東西不同,前端需要操作頁面元素,於是擴充了DOM,也需要操作瀏覽器,於是就擴充了BOM。而服務端的js則也是基於ECMAScript擴充出了服務端所需要的一些API,稍微瞭解背景童鞋肯定知道,後台語音有作業系統的能力,於是擴充os,需要有操作檔案的能力,於是擴充出file檔案系統、需要操作網路,於是擴充出net網路系統,需要操作資料,於是要擴充出database的能力。

這麼一對比,相信很多小夥伴對nodejs更加瞭解了,原來前端和服務端的js如此相似,他們的基礎是相同的,只是環境不同,導致他們擴充出來的東西不同而已。(想看更多就到topic.alibabacloud.comnode.js視頻教程欄目學習,看視頻也能學習)

二、js與node.js異同總結:

javascript組成:ecmascript(定義這門語言的基礎,比如文法、資料類型、結構以及一些內建對象等)、DOM(基於ecmascript,擴充出來的用於操作頁面元素的方法)、BOM(基於ecmascript,擴充出來的用於操作瀏覽器的一些方法)。

nodejS是以ECMASCRIPT為基礎,然後在這個基礎上擴充出來的一些操作其他東西(即操作非瀏覽器)的一些方法,比如操作OS作業系統、file檔案系統、net網路、database資料庫等。也就是說nodejs和JS在底層都是一樣的,都是ecmascript,但是擴充出來的功能卻是不一樣的。一個是偏向於前端瀏覽器,一個是偏向於後端。

在ecmascript部分node和JS其實是一樣的,比如與資料類型的定義、文法結構,內建對象。但在js中的頂層對象是window對象,但是在node中沒有什麼window對象,node中的頂層對象是global對象。這就是二者的差異性。

三、還有些很容易就看出來的區別:

  • JavaScript是一門語言

  • node.js不是一門語言,也不是一種特殊的JavaScript方言 - 它僅僅就是用於運行普通JavaScript代碼的東西

  • 所有瀏覽器都有運行網頁上JavaScript的JavaScript引擎。Firefox有叫做Spidermonkey的引擎,Safari有JavaScriptCore,Chrome有V8

  • node.js就是帶有能操作I/O和網路程式庫的V8引擎,因此你能夠在瀏覽器之外使用JavaScript建立shell指令碼和後台服務或者運行在硬體上

  • Javascript是一種web前端語言,主要用於web開發中,由瀏覽器解析執行

  • Node.js是一個可以快速構建網路服務及應用的平台,是用Javascript語言構建的服務平台,可用於後端建立伺服器

他們都用的是js文法,前者主要應用前端後者主要應用與後端

  • node.js和javascript區別還是挺大的,1個平台,1個是程式設計語言;

  • javascript是用戶端程式設計語言,需要瀏覽器的javascript解譯器進行解釋執行;

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

  • 簡單的說node.js就是把瀏覽器的解譯器封裝起來作為伺服器運行平台,用類似javascript的結構文法進行編程,在node.js上運行。

以上就是本篇關於node.js和js的區別和異同總結(想學更多就到topic.alibabacloud.comnode.js中文參考手冊欄目)。全文通俗易懂,有問題的可以在下方留言。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.