1. 程式人生 > >nodeJs和JavaScript的異同

nodeJs和JavaScript的異同

定義 var 功能 window 系統 器) node tab cat

JavaScript組成:ECMAScript(定義這門語言的基礎,比如語法、數據類型、結構以及一些內置對象等)、DOM(基於ECMASCRIPT,擴展出來的用於操作頁面元素的方法)、BOM(基於ECMASCRIPT,擴展出來的用於操作瀏覽器的一些方法)。

NodeJS是以ECMASCRIPT為基礎,然後在這個基礎上擴展出來的一些操作其他東西(即操作非瀏覽器)的一些方法,比如操作OS操作系統、file文件系統、net網絡、database數據庫等。也就是說nodejs和JS在底層都是一樣的,都是ecmascript,但是擴展出來的功能卻是不一樣的。一個是偏向於前端瀏覽器,一個是偏向於後端。
在ecmascript部分node和JS其實是一樣的,比如與數據類型的定義、語法結構,內置對象。但在js中的頂層對象是window對象,但是在node中沒有什麽window對象,node中的頂層對象是global對象。這就是二者的差異性。

在window對象中,定義一個全局變量是可以通過Window來訪問的,但是在node中是不能通過global對象來訪問的,如:
var a=100;
console.log(global.a);這種方式是輸出結果為undefined
對於上面這個例子,因為在node中定義的變量是模塊中的對象,而並不是global全局變量,所以結果為undefined
ECMAScript中文版:http://lzw.me/pages/ecmascript/

轉載:http://blog.csdn.net/lazycode_cat/article/details/61916291

nodeJs和JavaScript的異同