摘要:工具模塊工具模塊分為,,,,模塊字節順序字節順序,稱為端序和尾序,是跨越多字節程序對象的儲存規則如果最低有效位在最高位的前面,則為小端序,反過來為大端序端的起源來自于格列佛游記,中的水煮蛋的大端和小端。
Node.js工具模塊
node工具模塊分為OS,Path, Net, DNS, Domain模塊
字節順序,稱為端序和尾序,是跨越多字節程序對象的儲存規則
如果最低有效位在最高位的前面,則為小端序,反過來為大端序
來自于格列佛游記,中的水煮蛋的大端和小端。
字節序有什么用讀取的時候要用,即處理器從內存中進行讀取的時候,需要字節序,是大端序,還是小端序
其中大端序是人類讀寫數值需要的,大的在前,小的在后。
小端序是機器的讀法,正好相反
因為計算機讀取的時候是從低電位進行讀取,計算的時候也是從低位進行計算(人類也是這樣)這樣的效率一般會比較高。
字節順序對于單一字節,處理器以相同順序處理預元(bit),因此單字節的傳輸和存放是一樣的
對于多字節,在不同處理器的存放方式有兩種。
最高為字節儲存在最低的內存地址處。下一個字節儲存在后面的地址處(即跟高的內存地址)
小端序反過來即可
Path模塊 Domain模塊簡化代碼的異常處理
該模塊,將多個處理的模塊分為一組,然后進行處理
隱式綁定:把在上下文中定義的變量,自動進行綁定
顯式綁定:把不在上下文定義的變量,通過代碼進行綁定
需要使用一個emitter.emit http://nodejs.cn/api/events.h...
按照監聽器的注冊順序,同步調用emitter.removeAllListeners 移出綁定的監聽器
http://nodejs.cn/api/events.h...domain.run 在其域的上下文內,運行提供的函數, 所有的都隱式綁定
http://nodejs.cn/api/domain.h...domain.remove 移出監聽器
http://nodejs.cn/api/domain.h...
var EventEmitter = require("events").EventEmitter; var domain = require("domain"); // 域 var emitter1 = new EventEmitter(); // 創建一個監聽器的類,這是一個和監聽器有關的類 // 創建域 var domain1 = domain.create(); domain1.on("err", (err) => { // 綁定一個錯誤域,如果這個時候執行err事件,則處理回調函數 console.log("domain1 處理這個錯誤" + err.message); }); // 顯示綁定 domain1.add(emitter1); // 將監控器的類和域進行綁定 emitter1.on("error", (err) => { // 添加監聽器的error事件的回調函數 console.log("監聽器處理錯誤" + err.message); }); emitter1.emit("error", new Error("通過監聽器來處理")); // 觸發error事件,首先運行error的回調函數,接著運行new Error事件 emitter1.removeAllListeners("error"); // 移出監聽器類綁定的所有的事件 emitter1.emit("error", new Error("通過正常的 domainl來進行處理")) // 由于上一步已經移出了監聽器,所以通過正常的創建域中的錯誤的處理進行處理 var domain2 = domain.create(); // 創建一個新的 domain2 的域 domain2.on("error", (err) => { // 將該域和事件進行綁定 console.log("domain2 來進行處理" + err.message); }); // 隱式綁定 domain2.run(() => { // 創建一個域的運行空間 var emitter2 = new EventEmitter(); // 在域的運行空間內創建一個新的監控器的類 emitter2.emit("error", new Error("由domain2處理")); // 由于監控器的類沒有進行綁定,所以上下文尋找error錯誤的處理,找到第28行,對于error錯誤的處理,運行回調函數 }); domain1.remove(emitter1); // 移出域綁定的錯誤 emitter1.emit("error", new Error("由于未進行綁定,程序遇到執行錯誤")); //
PS C:UsersmingmDesktop est> node main.js 監聽器處理錯誤通過監聽器來處理 events.js:167 throw er; // Unhandled "error" event ^ Error: 通過正常的 domainl來進行處理 at Object.(C:UsersmingmDesktop estmain.js:24:24) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Function.Module.runMain (internal/modules/cjs/loader.js:742:12) at startup (internal/bootstrap/node.js:266:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3) Emitted "error" event at: at EventEmitter.emit (domain.js:455:12) at Object. (C:UsersmingmDesktop estmain.js:24:10) at Module._compile (internal/modules/cjs/loader.js:689:30) [... lines matching original stack trace ...] at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3) PS C:UsersmingmDesktop est>
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/96339.html
摘要:在源碼中也可以看到,在執行之前動態的引入了這些解釋器模塊。因為認為如果你要使用,那么一定會有對應的依賴,這個模塊就是與同級的依賴,也就是說可以放心的進行,大致這樣的結構的位置在這里執行腳本以及一個相反的栗子 NPM是Node.js的包管理工具,隨著Node.js的出現,以及前端開發開始使用gulp、webpack、rollup以及其他各種優秀的編譯打包工具(大多數采用Node.js來實...
摘要:博客地址這篇文章是我在眾成翻譯翻譯的一篇文章,一篇的入門指南,原文鏈接的出現使得用寫服務端應用成為可能。你可以看到,這個過程也安裝了其他的模塊,它們都是的所依賴的模塊。但是,得到的輸出信息會很冗長,我們可以加上來精簡一下輸出。 github 博客地址: https://github.com/zengxiaota... 這篇文章是我在 眾成翻譯 翻譯的一篇文章,一篇 npm 的入門指南,...
摘要:的另一種形式測試踩坑之路代碼覆蓋率單元測試的代碼覆蓋率統計,是衡量測試用例好壞的一個的方法。 showImg(https://segmentfault.com/img/remote/1460000012564211?w=640&h=280); 項目地址: diana文檔地址: http://muyunyun.cn/diana/ 造輪子的意義 為啥已經有如此多的前端工具類庫還要自己造輪...
摘要:比如,這種模擬并不符合某些邊緣情況。然而,使用,結果是在引導模塊時,將指向,與使用的行為一致。這將更容易完成代碼庫的過渡,并使成為可能。 原文作者:Johannes Ewald @Jhnnns 原文鏈接:The state of JavaScript modules 已獲原作者授權翻譯及發布 showImg(https://segmentfault.com/img/bVOpwz?w...
閱讀 1075·2021-11-23 09:51
閱讀 2418·2021-09-29 09:34
閱讀 3158·2019-08-30 14:20
閱讀 1060·2019-08-29 14:14
閱讀 3188·2019-08-29 13:46
閱讀 1084·2019-08-26 13:54
閱讀 1641·2019-08-26 13:32
閱讀 1434·2019-08-26 12:23