nodejs入門:1.nodejs的優(yōu)缺點(diǎn)

首先 nodejs并不是一門新的語言,他的作用主要在于后臺(tái)。

接觸過前端的都知道 前端無非就是 html,css,js 以及各種框架和這些語言的升級版本。

js在前端的作用除了一些動(dòng)態(tài)效果就是與后臺(tái)交互,比方說ajax。

但是在nodejs還沒有出現(xiàn)的時(shí)候 js除了在前端能與后臺(tái)做一些交互之外,其余的在后臺(tái)就差不多看不見js的影子了。也有很多人對這個(gè)語言感到不甘,他有很強(qiáng)的處理能力,卻在后臺(tái)無法生存。直到nodejs的出現(xiàn)。

nodejs時(shí)基于js語法的一款運(yùn)行在后臺(tái)的javascript語言。

主要特點(diǎn)是單線程,采用非阻塞時(shí)I/O,事件驅(qū)動(dòng)。

從以上三點(diǎn)分析nodejs優(yōu)缺點(diǎn)的話:

其單線程一定程度的節(jié)省資源與內(nèi)存,這時(shí)候就有人問到了,一個(gè)線程,能有什么用,nodejs不僅僅是單線程,它的基本操作全都是異步操作,這樣就保證了,一個(gè)線程里,同時(shí)進(jìn)行多種進(jìn)程。

采用非阻塞制I/O 可以大大的加快nodejs的執(zhí)行效率 這樣可以更好的執(zhí)行異步操作,不會(huì)因?yàn)槟硞€(gè)進(jìn)程的執(zhí)行時(shí)間教程,從而耽誤了整個(gè)進(jìn)程。

采用事件驅(qū)動(dòng)的執(zhí)行方法,主要是用了大量的回調(diào)函數(shù),這樣可以大大的減少異步操作所帶了錯(cuò)誤,比方說進(jìn)程b是基于進(jìn)程a完成之后才能執(zhí)行的 而異步操作不會(huì)去管a有沒有完成 就會(huì)去執(zhí)行b這時(shí)候把b封裝成一個(gè)回調(diào)函數(shù)放入a中回調(diào),這樣就達(dá)到了a執(zhí)行結(jié)束之后再去執(zhí)行b 而且還不會(huì)耽誤其他的進(jìn)程。

如果從以上三點(diǎn)分析nodejs的缺點(diǎn)的話 單線程差不多是最大的缺點(diǎn)了 因?yàn)闀r(shí)單線程 一根線 其中一個(gè)進(jìn)程崩了,就會(huì)導(dǎo)致整個(gè)線程坍塌,導(dǎo)致所有的進(jìn)程全部無法進(jìn)行。

除了從以上三點(diǎn)分析nodejs的優(yōu)缺點(diǎn) 我們還可以從前后端的角度 分析nodejs的優(yōu)點(diǎn)(缺點(diǎn)我這里就不描述了):

對于前端開發(fā)者來說 nodejs無疑是對于他們非常好的一種語言,因?yàn)閚odejs的語法就是js語法,這讓前端開發(fā)者非常容易學(xué)會(huì),以及掌握。

對于后端來說,nodejs和前端交互的時(shí)候,省去了大量的代碼互相融合交互的工作,還是因?yàn)榇a的語法都一樣,前后很容易認(rèn)識(shí)。

以上就是nodejs宏觀上,大概的優(yōu)缺點(diǎn),還有很多細(xì)節(jié)需要在實(shí)際操作中去自己發(fā)掘,自己嘗試。

還有就是,學(xué)習(xí)nodejs必須要掌握的框架 express koa jquery 以及vue.js.?

掌握一些es6語法 對于玩轉(zhuǎn)nodejs也是有很大幫助。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容