關於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如此相似,他們的基礎是相同的,只是環境不同,導致他們擴展出來的東西不同而已。 (想看更多就到PHP中文網node.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的區別和異同總結(想學更多就到PHP中文網node.js中文參考手冊欄目)。全文簡單易懂,有問題的可以在下方留言。
【小編推薦】
#以上是js和node.js的差別是什麼? js與node.js異同總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!