鍍金池/ 教程/ HTML/ Node.js全局對象
Node.js快速入門
Node.js事件發(fā)射器
Node.js包(JXcore)
Node.js事件循環(huán)
Node.js文件系統(tǒng)
Node.js npm
Node.js安裝和入門
Node.js工具模塊
Node.js回調(diào)概念
Node.js流
Node.js入門實例程序
Node.js教程
Node.js規(guī)范化應用
Node.js REPL終端
Node.js緩沖器
Node.js RESTful API
Node.js全局對象
Linux安裝Node.js(源碼編譯安裝)
Node.js Web模塊
Node.js Express框架

Node.js全局對象

Node.js的全局對象是具有全局性的,它們可在所有的模塊中應用。我們并不需要包括這些對象在應用中,而可以直接使用它們。這些對象的模塊,函數(shù),字符串和對象本身,如下所述。

__filename

__filename 表示正在執(zhí)行的代碼的文件名。這是此代碼文件的解析絕對路徑。 為一個主程序這不一定是在命令行中使用相同的文件名。 模塊內(nèi)的路徑模塊文件的值。

示例

創(chuàng)建一個js文件名為main.js里面有如下代碼:

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

console.log( __filename );

現(xiàn)在運行main.js看到的結(jié)果:

$ node main.js

根據(jù)你的程序的位置,將打印主文件名,如下所示:

/web/com/15259554028_2109/main.js

__dirname

__dirname表示當前正在執(zhí)行的腳本所在目錄的名稱。

示例

創(chuàng)建一個js文件名為main.js里面有如下代碼:

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

console.log( __dirname );

現(xiàn)在運行main.js看到的結(jié)果:

$ node main.js

根據(jù)你的程序的位置,將打印當前目錄名稱如下:

/web/com/1427091028_21099

setTimeout(cb, ms)

setTimeout(cb, ms) 全局函數(shù)用于至少毫秒毫秒后運行回調(diào)cb。實際延遲取決于外部因素,如OS計時器粒度和系統(tǒng)負載。計時器不能跨越超過24.8天。

該函數(shù)返回一個表示可用于清除定時器,定時器的不透明值。

示例

創(chuàng)建一個js文件名為main.js里面有如下代碼:

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

現(xiàn)在運行main.js看到的結(jié)果:

$ node main.js

驗證輸出有一點點延遲后打印

Hello, World!

clearTimeout(t)

clearTimeout(t)的全局函數(shù)用來停止以前用的setTimeout()創(chuàng)建一個定時器。這里t是由setTimeout()函數(shù)返回的計時器。

示例

創(chuàng)建一個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);

現(xiàn)在運行main.js看到的結(jié)果:

$ node main.js

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

setInterval(cb, ms)

setInterval(cb, ms) 全局函數(shù)是用來至少毫秒后重復運行回調(diào)cb。實際延遲取決于外部因素,如OS計時器粒度和系統(tǒng)負載。計時器不能跨越超過24.8天。

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

示例

創(chuàng)建一個js文件名為main.js里面有如下代碼:

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

現(xiàn)在運行main.js看到的結(jié)果:

$ node main.js

上述程序?qū)⒚?秒之后執(zhí)行函數(shù)printHello()。由于系統(tǒng)的限制,此方案不能執(zhí)行選項,所以可以在本地檢查你的機器。

全局對象

下表列出了一些我們經(jīng)常使用在我們的應用中另一個對象的細節(jié)。對于進一步的細節(jié),可以參考官方文檔。

S.N. 模塊名稱 & 描述
1 Console
用于打印輸出和錯誤信息
2 Process
用于獲取當前進程的信息。提供處理活動有關(guān)的多個事件