1、全局對(duì)象

所有模塊都可以調(diào)用

1)global:表示Node所在的全局環(huán)境,類似于瀏覽器中的window對(duì)象。

2)process:指向Node內(nèi)置的process模塊,允許開(kāi)發(fā)者與當(dāng)前進(jìn)程互動(dòng)。

例如你在DOS或終端窗口直接輸入node,就會(huì)進(jìn)入NODE的命令行方式(REPL環(huán)境)。退出要退出的話,可以輸入 process.exit();

3)console:指向Node內(nèi)置的console模塊,提供命令行環(huán)境中的標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出功能。

通常是寫(xiě)console.log(),無(wú)須多言

 

2、全局函數(shù):

1)定時(shí)器函數(shù):共有4個(gè),分別是setTimeout(), clearTimeout(), setInterval(), clearInterval()。
2)require:用于加載模塊。

 

3、全局變量:

1)_filename:指向當(dāng)前運(yùn)行的腳本文件名。

2)_dirname:指向當(dāng)前運(yùn)行的腳本所在的目錄。

 

4、準(zhǔn)全局變量

模塊內(nèi)部的局部變量,指向的對(duì)象根據(jù)模塊不同而不同,但是所有模塊都適用,可以看作是偽全局變量,主要為module, module.exports, exports等。


module變量指代當(dāng)前模塊。module.exports變量表示當(dāng)前模塊對(duì)外輸出的接口,其他文件加載該模塊,實(shí)際上就是讀取module.exports變量。

module.id 模塊的識(shí)別符,通常是模塊的文件名。
module.filename 模塊的文件名。
module.loaded 返回一個(gè)布爾值,表示模塊是否已經(jīng)完成加載。
module.parent 返回使用該模塊的模塊。

module.children 返回一個(gè)數(shù)組,表示該模塊要用到的其他模塊。

 

這里需要特別指出的是,exports變量實(shí)際上是一個(gè)指向module.exports對(duì)象的鏈接,等同在每個(gè)模塊頭部,有一行這樣的命令。

var exports = module.exports;

這造成的結(jié)果是,在對(duì)外輸出模塊接口時(shí),可以向exports對(duì)象添加方法,但是不能直接將exports變量指向一個(gè)函數(shù):

exports.自定義模塊 = function (x){ console.log(x);};

上面這樣的寫(xiě)法是無(wú)效的,因?yàn)樗袛嗔薳xports與module.exports之間的鏈接。但是,下面這樣寫(xiě)是可以的。

http://www.cnblogs.com/gpzhen/p/7216004.html