Node.js 全域性物件
阿新 • • 發佈:2020-12-27
Node.js 全域性物件
參考https://www.runoob.com/nodejs/nodejs-global-object.html
- 全域性物件global(其所有屬性稱為全域性變數),任何地方都可以訪問;
- JavaScript中window是全域性物件,Node.js中global是全域性物件。
全域性物件和全域性變數
全域性變數
- 在最外層定義的變數
- 全域性物件的屬性也是全域性變數
- 隱式定義的變數,即不使用let、var、const等關鍵詞而直接賦值的變數
定義一個全域性變數的時候,它也會變為全域性物件的屬性;
在Node.js中不可能在最外層定義物件,因為使用者程式碼都是屬於當前模組的。
最好不要使用var等關鍵字定義變數,以避免引入全域性變數而影響程式碼耦合。
全域性物件global的屬性
-
——filename:當前正在執行的指令碼名稱(絕對路徑),string型別;
-
——dirname:當前執行指令碼所在目錄(絕對路徑),string型別;
-
setTimeout(cb, ms):在指定毫秒(ms)數後執行指定函式(cb),只執行一次;
-
clearTimeout(t):停止之前通過setTimeout()建立的定時器:
var t = setTimeout(functionName, 1000);//1s後執行functionName clearTimeout(t);//清除上一行宣告的定時器
-
setInterval(cb, ms):同setTimeout(cb, ms),但是是週期執行而不是一次,直到呼叫clearInterval(t)或者停止指令碼;
-
console:專門用於控制檯日誌輸出,其全域性方法有console.log()、console.info()等
-
process:
常用事件:
- exit:當程序準備退出時觸發;
- beforeExit:當node清空事件迴圈,並且沒有其他的程序安排的時候觸發;通常沒有程序安排時node就會退出,但是'beforeExit'的監聽器可以非同步呼叫,從而node繼續執行;
- uncaughtException:當一個異常回到事件迴圈,就會觸發,如果添加了響應的監聽器就會覆蓋預設的列印堆疊跟蹤資訊等操作;
- Signal事件:當程序接收到訊號時就觸發。
使用process.on('事件名', 監聽器)來監聽事件。