簡(jiǎn)單來(lái)說(shuō)Nodejs并不是一門(mén)新的語(yǔ)言,但是它可以讓我們的JS運(yùn)行在服務(wù)器端,在服務(wù)器端寫(xiě)JS代碼并且輸入輸出,也就是說(shuō)以后要是有人問(wèn)你JS是不是只能運(yùn)行在瀏覽器中,你千萬(wàn)別說(shuō),唉,是啊。
記得剛開(kāi)始學(xué)HTML,CSS,JS的時(shí)候第一印象就是下載各種瀏覽器,因?yàn)榧嫒輪?wèn)題T_T,不過(guò)現(xiàn)在有個(gè)好消息學(xué)Nodejs它并沒(méi)有兼容問(wèn)題。
如果你想知道為什么Nodejs沒(méi)有兼容問(wèn)題,那你的先清楚前端為什么會(huì)有兼容問(wèn)題,這里我提到前端是想說(shuō)Nodejs它不是前端,是后端,雖然看著很像,但很遺憾的告訴你它不是。
扯遠(yuǎn)了,會(huì)到正題上,為什么前端有兼容問(wèn)題,主要問(wèn)題就是瀏覽器!!!你想啊,每個(gè)瀏覽器都是不同的廠(chǎng)子做的,那效果能一樣嗎?后來(lái)大家都不樂(lè)意了,你說(shuō)你寫(xiě)的東西只能在他家用,在別人家就不行了,靠,天理何在。所以后來(lái)出來(lái)個(gè)第三者也就是我們所說(shuō)的W3C,這個(gè)W3C就是專(zhuān)門(mén)負(fù)責(zé)解決這個(gè)問(wèn)題的,什么問(wèn)題呢?就是說(shuō)W3C作為中間人,他來(lái)負(fù)責(zé)定義標(biāo)準(zhǔn),它們?yōu)g覽器必須按照它這個(gè)標(biāo)準(zhǔn)提供API給我們這些程序員來(lái)使用。那為什么還是有兼容問(wèn)題呢?話(huà)又說(shuō)回來(lái)了,人家只是定了標(biāo)準(zhǔn)了,但是別人一定要按照他的做嗎,真是太天真了。
不過(guò)放心以后兼容會(huì)越來(lái)越少,為什么呢?你想啊,大部分瀏覽器提供的API都一樣,就你提供的不一樣,開(kāi)發(fā)人員能高興嗎,開(kāi)發(fā)人員不高興了,誰(shuí)還愿意用他家瀏覽器,再不就是自作孽不可活,在看看多年前的IE和現(xiàn)在的IE。
OK,話(huà)又說(shuō)回來(lái)了,既然這些兼容問(wèn)題都是瀏覽器搞得鬼,現(xiàn)在Nodejs不需要瀏覽器了,還兼容啥對(duì)吧,既然如此,我們以前學(xué)的BOM和DOM自然也就不能在Nodejs中使用了,因?yàn)闆](méi)瀏覽器了啊,你還操作什么DOM,另外一個(gè)很重要的事情就是Nodejs它允許我們操作本地文件,這一點(diǎn)非常重要,一門(mén)語(yǔ)言不能操作文件多少有些可惜,要想讓JS操作文件是可以做到的,但是瀏覽器不敢讓JS這樣做,因?yàn)樘kU(xiǎn)了,比如你去訪(fǎng)問(wèn)一個(gè)人的網(wǎng)站,它用JS寫(xiě)了一段程序去刪除你電腦系統(tǒng)里面的東西,又或者去讀取你的隱私,這還了得啊,但是服務(wù)器端不一樣,因?yàn)槟銓?xiě)的代碼只是在你自己服務(wù)器中運(yùn)行的,難不成你去破壞自己的電腦。有些亂了吧?好吧。
總結(jié)一下今天所學(xué)的:Nodejs允許JS在服務(wù)器中使用,因?yàn)闆](méi)有瀏覽器的加入,所以沒(méi)有兼容問(wèn)題,自然也沒(méi)有了BOM和DOM,并且可以操作本地文件。
以上這篇Nodejs從有門(mén)道無(wú)門(mén)菜鳥(niǎo)起飛必看教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考