小編給大家分享一下node環(huán)境與瀏覽器環(huán)境有哪些區(qū)別,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
在廣西等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需定制,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,廣西網(wǎng)站建設(shè)費用合理。
區(qū)別:1、node中this指向global,而瀏覽器中指向window;2、Node用CommonJS標(biāo)準(zhǔn),而瀏覽器用ES Modules標(biāo)準(zhǔn);3、瀏覽器中的js可以操作DOM,而node中不會;4、I/O讀寫操作不同;5、模塊加載不同。
本教程操作環(huán)境:windows7系統(tǒng)、nodejs 12.19.0版,DELL G3電腦。
1、全局環(huán)境下this的指向
在node中this指向global而在瀏覽器中this指向window,這就是為什么underscore中一上來就定義了一 root;
var root = typeof self == 'object' && self.self === self && self || typeof global == 'object' && global.global === global && global || this;
而且在瀏覽器中的window下封裝了不少的API 比如 alert 、document、location、history 等等還有很多。我們就不能在node環(huán)境中xxx();或window.xxx();了。因為這些API是瀏覽器級別的封裝,純javascript中是沒有的。當(dāng)然node中也提供了不少node特有的API。
2、模塊標(biāo)準(zhǔn)
Node.js 使用 CommonJS 模塊系統(tǒng),而在瀏覽器中我們開始看到正在實施的 ES Modules 標(biāo)準(zhǔn)。
在實踐中,這意味著你暫時在 Node.js 中使用 require(),在瀏覽器中使用 import。
3、DOM操作
瀏覽器中的js大多數(shù)情況下是在直接或間接(一些虛擬DOM的庫和框架)的操作DOM。因為瀏覽器中的代碼主要是在表現(xiàn)層工作。但是node是一門服務(wù)端技術(shù)。沒有一個前臺頁面,所以我門不會在node中操作DOM。
4、I/O讀寫
與瀏覽器不同,我們需要像其他服務(wù)端技術(shù)一樣讀寫文件,nodejs提供了比較方便的組件。而瀏覽器(確保兼容性的)想在頁面中直接打開一個本地的圖片就麻煩了好多(別和我說這還不簡單,相對路徑。。。。。。試試就知道了要么找個庫要么二進(jìn)制流,要么上傳上去有了網(wǎng)絡(luò)地址在顯示。不然人家為什么要搞一個js庫呢),而這一切node都用一個組件搞定了。
5、模塊加載
javascript有個特點,就是原生沒提供包引用的API一次性把要加載的東西全執(zhí)行一遍,這里就要看各位閉包的功力了。所用東西都在一起,沒有分而治之,搞的特別沒有邏輯性和復(fù)用性。如果頁面簡單或網(wǎng)站當(dāng)然我們可以通過一些AMD、CMD的js庫(比如requireJS 和 seaJS)搞定事實上很多大型網(wǎng)站都是這么干的。
在nodeJS中提供了CMD的模塊加載的API,如果你用過seaJS,那么應(yīng)該上手很快。
node還提供了npm 這種包管理工具,能更有效方便的管理我們飲用的庫
當(dāng)然瀏覽器這邊ES6也有這方面的補充,相信未來會更好。。。
看完了這篇文章,相信你對“node環(huán)境與瀏覽器環(huán)境有哪些區(qū)別”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞名稱:node環(huán)境與瀏覽器環(huán)境有哪些區(qū)別
URL分享:http://jinyejixie.com/article32/peodsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、面包屑導(dǎo)航、網(wǎng)站策劃、微信公眾號、網(wǎng)站制作、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)