Node.js全域性物件


Node.js的全域性物件是具有全域性性的,它們可在所有的模組中應用。我們並不需要包括這些物件在應用中,而可以直接使用它們。這些物件的模組,函式,字串和物件本身,如下所述。

__filename

__filename 表示正在執行的程式碼的檔案名。這是此程式碼檔案的解析絕對路徑。 為一個主程式這不一定是在命令列中使用相同的檔案名。 模組內的路徑模組檔案的值。

範例

建立一個js檔案名為main.js裡面有如下程式碼:

// Let's try to print the value of __filename

console.log( __filename );

現在執行main.js看到的結果:

$ node main.js

根據你的程式的位置,將列印主檔案名,如下所示:

/web/com/15259554028_2109/main.js

__dirname

__dirname表示當前正在執行的指令碼所在目錄的名稱。

範例

建立一個js檔案名為main.js裡面有如下程式碼:

// Let's try to print the value of __dirname

console.log( __dirname );

現在執行main.js看到的結果:

$ node main.js

根據你的程式的位置,將列印當前目錄名稱如下:

/web/com/1427091028_21099

setTimeout(cb, ms)

setTimeout(cb, ms) 全域性函式用於至少毫秒毫秒後執行回撥cb。實際延遲取決於外部因素,如OS計時器粒度和系統負載。計時器不能跨越超過24.8天。

該函式返回一個表示可用於清除定時器,定時器的不透明值。

範例

建立一個js檔案名為main.js裡面有如下程式碼:

function printHello(){
   console.log( "Hello, World!");
}
// Now call above function after 2 seconds
setTimeout(printHello, 2000);

現在執行main.js看到的結果:

$ node main.js

驗證輸出有一點點延遲後列印

Hello, World!

clearTimeout(t)

clearTimeout(t)的全域性函式用來停止以前用的setTimeout()建立一個定時器。這裡t是由setTimeout()函式返回的計時器。

範例

建立一個js檔案名為main.js裡面有如下程式碼:

function printHello(){
   console.log( "Hello, World!");
}
// Now call above function after 2 seconds
var t = setTimeout(printHello, 2000);

// Now clear the timer
clearTimeout(t);

現在執行main.js看到的結果:

$ node main.js

驗證,不會有任何列印輸出。

setInterval(cb, ms)

setInterval(cb, ms) 全域性函式是用來至少毫秒後重複執行回撥cb。實際延遲取決於外部因素,如OS計時器粒度和系統負載。計時器不能跨越超過24.8天。

函式返回一個表示可用於清除定時器使用功能的計時器的不透明值 clearInterval(t).

範例

建立一個js檔案名為main.js裡面有如下程式碼:

function printHello(){
   console.log( "Hello, World!");
}
// Now call above function after 2 seconds
setInterval(printHello, 2000);

現在執行main.js看到的結果:

$ node main.js

上述程式將每2秒之後執行函式printHello()。由於系統的限制,此方案不能執行選項,所以可以在本地檢查你的機器。

全域性物件

下表列出了一些我們經常使用在我們的應用中另一個物件的細節。對於進一步的細節,可以參考官方文件。

S.N. 模組名稱 & 描述
1 Console
用於列印輸出和錯誤資訊
2 Process
用於獲取當前進程的資訊。提供處理活動有關的多個事件