中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node環境與瀏覽器環境有哪些區別

發布時間:2022-03-23 09:45:28 來源:億速云 閱讀:672 作者:小新 欄目:web開發

小編給大家分享一下node環境與瀏覽器環境有哪些區別,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

區別:1、node中this指向global,而瀏覽器中指向window;2、Node用CommonJS標準,而瀏覽器用ES Modules標準;3、瀏覽器中的js可以操作DOM,而node中不會;4、I/O讀寫操作不同;5、模塊加載不同。

本教程操作環境:windows7系統、nodejs 12.19.0版,DELL G3電腦。

node環境與瀏覽器環境的區別

1、全局環境下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環境中xxx();或window.xxx();了。因為這些API是瀏覽器級別的封裝,純javascript中是沒有的。當然node中也提供了不少node特有的API。

2、模塊標準

Node.js 使用 CommonJS 模塊系統,而在瀏覽器中我們開始看到正在實施的 ES Modules 標準。

在實踐中,這意味著你暫時在 Node.js 中使用 require(),在瀏覽器中使用 import。

3、DOM操作

  瀏覽器中的js大多數情況下是在直接或間接(一些虛擬DOM的庫和框架)的操作DOM。因為瀏覽器中的代碼主要是在表現層工作。但是node是一門服務端技術。沒有一個前臺頁面,所以我門不會在node中操作DOM。

4、I/O讀寫

  與瀏覽器不同,我們需要像其他服務端技術一樣讀寫文件,nodejs提供了比較方便的組件。而瀏覽器(確保兼容性的)想在頁面中直接打開一個本地的圖片就麻煩了好多(別和我說這還不簡單,相對路徑。。。。。。試試就知道了要么找個庫要么二進制流,要么上傳上去有了網絡地址在顯示。不然人家為什么要搞一個js庫呢),而這一切node都用一個組件搞定了。

5、模塊加載

  javascript有個特點,就是原生沒提供包引用的API一次性把要加載的東西全執行一遍,這里就要看各位閉包的功力了。所用東西都在一起,沒有分而治之,搞的特別沒有邏輯性和復用性。如果頁面簡單或網站當然我們可以通過一些AMD、CMD的js庫(比如requireJS 和 seaJS)搞定事實上很多大型網站都是這么干的。

  在nodeJS中提供了CMD的模塊加載的API,如果你用過seaJS,那么應該上手很快。

  node還提供了npm 這種包管理工具,能更有效方便的管理我們飲用的庫

  當然瀏覽器這邊ES6也有這方面的補充,相信未來會更好。。。

看完了這篇文章,相信你對“node環境與瀏覽器環境有哪些區別”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新疆| 阿拉善盟| 伊春市| 平乐县| 庄浪县| 青河县| 榆中县| 静乐县| 工布江达县| 扶风县| 舞阳县| 包头市| 永德县| 商河县| 贵南县| 杭州市| 泸州市| 柯坪县| 崇文区| 雷州市| 忻城县| 黄大仙区| 依安县| 南安市| 墨脱县| 泰兴市| 内乡县| 莲花县| 师宗县| 北辰区| 剑阁县| 内丘县| 无为县| 木里| 甘孜县| 漳平市| 五家渠市| 确山县| 泽州县| 纳雍县| 孝昌县|