Node.js的全域性物件是具有全域性性的,它們可在所有的模組中應用。我們並不需要包括這些物件在應用中,而可以直接使用它們。這些物件的模組,函式,字串和物件本身,如下所述。
__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表示當前正在執行的指令碼所在目錄的名稱。
建立一個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) 全域性函式用於至少毫秒毫秒後執行回撥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)的全域性函式用來停止以前用的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) 全域性函式是用來至少毫秒後重複執行回撥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 用於獲取當前進程的資訊。提供處理活動有關的多個事件 |