關於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中文參考手冊欄目)。全文通俗易懂,有問題的可以在下方留言。