nodejs和js不一樣。兩者的區(qū)別:1、nodejs是平臺(tái),而js是編程語(yǔ)言;2、頂層對(duì)象不同,JS中的頂層對(duì)象是window對(duì)象,node中的頂層對(duì)象是global對(duì)象;3、nodejs與js的組成不同。
本教程操作環(huán)境:windows7系統(tǒng)、nodejs 12.19.0&&javascript1.8.5版、Dell G3電腦。
nodejs和js不一樣。
Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境,是一個(gè)讓 JavaScript 運(yùn)行在服務(wù)端的開發(fā)平臺(tái),它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務(wù)端語(yǔ)言平起平坐的腳本語(yǔ)言。
JavaScript一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語(yǔ)言。js(JavaScript)是一種高級(jí)的、解釋型的編程語(yǔ)言;它是一門基于原型、函數(shù)先行的語(yǔ)言,是一門多范式的語(yǔ)言,它支持面向?qū)ο缶幊?,命令式編程,以及函?shù)式編程。
傳統(tǒng)的js是運(yùn)行在瀏覽器上的,因?yàn)闉g覽器內(nèi)核分為兩個(gè)部分:
- 渲染引擎—渲染HTML和CSS
- JavaScript 引擎—負(fù)責(zé)運(yùn)行 JavaScript
如果要執(zhí)行JavaScript代碼,需要一個(gè)js引擎,你可以安裝一個(gè)瀏覽器(內(nèi)置js引擎),或nodejs環(huán)境(內(nèi)置js引擎),如果你在js代碼中調(diào)用了瀏覽器提供的API,則必須安裝一個(gè)瀏覽器,若調(diào)用了nodejs API,則必須安裝nodejs環(huán)境,然后以各自規(guī)定的方式加載、執(zhí)行JavaScript代碼。
node.js與js的區(qū)別:
1、node.js是平臺(tái),Js是編程語(yǔ)言;
2、js是客戶端編程語(yǔ)言,需要瀏覽器的JavaScript解釋器進(jìn)行解釋執(zhí)行;
3、node.js是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的平臺(tái),它是對(duì)Google V8引擎進(jìn)行了封裝的運(yùn)行環(huán)境;
4、node.js就是把瀏覽器的解釋器封裝起來(lái)作為服務(wù)器運(yùn)行平臺(tái),用類似JavaScript的結(jié)構(gòu)語(yǔ)法進(jìn)行編程,在node.js上運(yùn)行。
5、node.js與js組成不同:
JavaScript:
-
ECMAScript(語(yǔ)言基礎(chǔ),如:語(yǔ)法、數(shù)據(jù)類型結(jié)構(gòu)以及一些內(nèi)置對(duì)象)
-
DOM(一些操作頁(yè)面元素的方法)
-
BOM(一些操作瀏覽器的方法)
Node.js:
-
ECMAScript(語(yǔ)言基礎(chǔ),如:語(yǔ)法、數(shù)據(jù)類型結(jié)構(gòu)以及一些內(nèi)置對(duì)象)
-
OS(操作系統(tǒng))
-
file(文件系統(tǒng))
-
net(網(wǎng)絡(luò)系統(tǒng))
-
database(數(shù)據(jù)庫(kù))
6、頂層對(duì)象不同
在JS中的頂層對(duì)象是window對(duì)象,但是在node中沒(méi)有什么window對(duì)象,node中的頂層對(duì)象是global對(duì)象。這就是二者的差異性。
在window對(duì)象中,定義一個(gè)全局變量是可以通過(guò)Window來(lái)訪問(wèn)的,但是在node中是不能通過(guò)global對(duì)象來(lái)訪問(wèn)的
【推薦學(xué)習(xí):《nodejs 教程》】