nodejs 全局變量和全局對(duì)象知識(shí)點(diǎn)及用法詳解
1、全局對(duì)象
所有模塊都可以調(diào)用
1)global:表示Node所在的全局環(huán)境,類似于瀏覽器中的window對(duì)象。
2)process:指向Node內(nèi)置的process模塊,允許開發(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)輸出功能。
通常是寫console.log(),無須多言
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);};
上面這樣的寫法是無效的,因?yàn)樗袛嗔薳xports與module.exports之間的鏈接。但是,下面這樣寫是可以的。
知識(shí)點(diǎn)擴(kuò)展:
JavaScript中有一個(gè)特殊的對(duì)象,叫全局對(duì)象.
在瀏覽器JS中,這個(gè)全局對(duì)象通常是Window對(duì)象
而在NodeJS中,這個(gè)全局對(duì)象的名字是global.
在NodeJS中,有三種定義全局變量的方法:
1> 在最外層定義的變量.
一般來講,用戶代碼不會(huì)處于最外層.
只有一種情況可以:在解釋器shell環(huán)境中.
2>將變量定義為global對(duì)象的屬性
var global.x;
3>隱式定義的所有變量(未定義,直接賦值的變量)
這也是為啥不建議使用隱式定義,這樣的變量被定義為全局變量會(huì)污染環(huán)境.
到此這篇關(guān)于nodejs 全局變量和全局對(duì)象知識(shí)點(diǎn)及用法詳解的文章就介紹到這了,更多相關(guān)nodejs 全局變量和全局對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Node.js 實(shí)現(xiàn)簡單小說爬蟲實(shí)例
現(xiàn)在爬蟲在很多web項(xiàng)目中都有應(yīng)用,這篇文章主要介紹了Node.js 實(shí)現(xiàn)簡單小說爬蟲實(shí)例,有興趣的可以了解一下。2016-11-11
nodejs基礎(chǔ)之buffer緩沖區(qū)用法分析
這篇文章主要介紹了nodejs基礎(chǔ)之buffer緩沖區(qū)用法,結(jié)合實(shí)例形式分析了buffer緩沖區(qū)的概念、功能、創(chuàng)建、讀寫等相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
淺析node連接數(shù)據(jù)庫(express+mysql)
Node是一個(gè)Javascript運(yùn)行環(huán)境(runtime)。實(shí)際上它是對(duì)Google V8引擎進(jìn)行了封裝。V8引 擎執(zhí)行Javascript的速度非常快,性能非常好。Node對(duì)一些特殊用例進(jìn)行了優(yōu)化,提供了替代的API,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好2015-11-11
node.js express捕獲全局異常的三種方法實(shí)例分析
這篇文章主要介紹了node.js express捕獲全局異常的三種方法,結(jié)合實(shí)例形式簡單分析了node.js express捕獲全局異常的常見操作方法與使用注意事項(xiàng),需要的朋友可以參考下2019-12-12
npm安裝的全局包/工具不能使用,不是內(nèi)部/外部命令的解決方法
這篇文章主要給大家介紹了關(guān)于npm安裝的全局包/工具不能使用,不是內(nèi)部/外部命令的解決方法,文中通過圖文將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03

