Node.js是以V8 JavaScript引擎為基礎,結合事件驅動、非阻塞I/O等特點而誕生的一種伺服器端開發語言。Global對象就是Node.js的全局對象,包含了所有可以在應用中訪問的全局變數和函數。
一、認識Global
Global是一個全局對象,它包含所有的全局變數和函數。它是全局作用域的標識符,在Node.js中始終可用。Global對象在Node.js運行時就已經初始化了,並繼承了Node.js V8引擎的全局對象。在Node.js環境中,我們可以通過在代碼中簡單引用直接訪問Global對象,而不需要顯式地聲明變數。
二、全局變數
Global對象中存在的全局變數有很多,其中一些比較常用且重要的變數有:
__dirname
: 當前模塊的目錄名__filename
: 當前模塊的文件名console
: 控制台process
: 進程相關的信息和方法
console.log(__dirname);
// 輸出: /Users/xxx/Documents/project
console.log(__filename);
// 輸出: /Users/xxx/Documents/project/index.js
console.log(process.cwd());
// 輸出: /Users/xxx/Documents/project
console.log(process.env);
// 輸出: 當前系統下所有環境變數
console.log(process.memoryUsage());
// 輸出: 當前進程的內存使用情況
三、全局函數
除了全局變數,Global對象中還包含了很多函數和類。
1. setTimeout() 和 clearTimeout()
setTimeout()
函數用於在指定的延遲時間後執行指定的代碼。其中包含兩個參數:要執行的代碼和延遲的時間(以毫秒為單位)。clearTimeout()
函數則可以用來取消一個還未執行的延遲代碼。
let timer = setTimeout(function() {
console.log('1秒已經過去了');
}, 1000);
clearTimeout(timer); // 取消未執行的定時任務
2. setInterval() 和 clearInterval()
setInterval()
函數用於以指定的時間間隔重複執行指定的代碼。其中包含兩個參數:要執行的代碼和時間間隔(以毫秒為單位)。
let interval = setInterval(function() {
console.log('1秒已經過去了');
}, 1000);
clearInterval(interval); // 停止定時任務
3. Buffer() 和 Buffer.from()
Buffer()
函數用於創建一個新的Buffer實例。而Buffer.from()
則可以從指定的對象或字元串中創建一個Buffer實例。
let buf1 = Buffer.alloc(10);
console.log(buf1);
let buf2 = Buffer.from('hello');
console.log(buf2);
4. require()
require()
函數用於載入模塊。Node.js使用CommonJS規範進行模塊管理,因此可以使用require()
函數在代碼中引入其他模塊中的代碼。
const fs = require('fs');
console.log(fs);
5. exports 和 module.exports
exports
是module.exports
的一個引用,因此可以將變數或函數賦值給exports
以便在其他文件中使用。而module.exports
用於導出當前模塊中的變數或函數,使其能在其他文件中載入和使用。
exports.add = function(a, b) {
return a + b;
}
module.exports.sub = function(a, b) {
return a - b;
}
四、總結
Global對象是Node.js中的一個非常重要的對象,其中包含了很多在開發中常用的全局變數和函數。通過本文的學習,我們可以更加深入地了解Node.js中Global對象的特性和使用方法。
原創文章,作者:WAPVL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370730.html