溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

node的全局對(duì)象是什么

發(fā)布時(shí)間:2022-07-12 09:37:17 來(lái)源:億速云 閱讀:217 作者:iii 欄目:web開(kāi)發(fā)

這篇“node的全局對(duì)象是什么”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“node的全局對(duì)象是什么”文章吧。

node的全局對(duì)象是“global”,global最根本的作用是作為全局變量的宿主;而所有全局變量(除了global本身以外)都是global對(duì)象的屬性。在Node.js中可以直接訪問(wèn)到global的屬性,而不需要在應(yīng)用中包含它。

node的全局對(duì)象是什么

本教程操作環(huán)境:windows7系統(tǒng)、nodejs16版,DELL G3電腦。

JavaScript 中有一個(gè)特殊的對(duì)象,稱(chēng)為全局對(duì)象(Global Object),它及其所有屬性都可以在程序的任何地方訪問(wèn),即全局變量。

在瀏覽器 JavaScript 中,通常 window 是全局對(duì)象, 而 Node.js 中的全局對(duì)象是 global,所有全局變量(除了 global 本身以外)都是 global 對(duì)象的屬性。

在 Node.js 我們可以直接訪問(wèn)到 global 的屬性,而不需要在應(yīng)用中包含它。

全局對(duì)象與全局變量

global 最根本的作用是作為全局變量的宿主。按照 ECMAScript 的定義,滿(mǎn)足以下條 件的變量是全局變量:

  • 在最外層定義的變量;

  • 全局對(duì)象的屬性;

  • 隱式定義的變量(未定義直接賦值的變量)。

當(dāng)你定義一個(gè)全局變量時(shí),這個(gè)變量同時(shí)也會(huì)成為全局對(duì)象的屬性,反之亦然。需要注 意的是,在 Node.js 中你不可能在最外層定義變量,因?yàn)樗杏脩?hù)代碼都是屬于當(dāng)前模塊的, 而模塊本身不是最外層上下文。

注意: 最好不要使用 var 定義變量以避免引入全局變量,因?yàn)槿肿兞繒?huì)污染命名空間,提高代碼的耦合風(fēng)險(xiǎn)。

1、__filename

新建global.js,內(nèi)容如下:

console.log( __filename );

運(yùn)行如下:

node global.js __filename=/root/node_test/global.js

2、__dirname

新建dirname.js,內(nèi)容如下:

console.log(__dirname);

運(yùn)行如下:

node  dirname.js /root/node_test

3、setTimeout(cb, ms)

setTimeout(cb, ms) 全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行指定函數(shù)(cb)。:setTimeout() 只執(zhí)行一次指定函數(shù)。

返回一個(gè)代表定時(shí)器的句柄值。

4、clearTimeout(t)

clearTimeout( t ) 全局函數(shù)用于停止一個(gè)之前通過(guò) setTimeout() 創(chuàng)建的定時(shí)器。 參數(shù) t 是通過(guò) setTimeout() 函數(shù)創(chuàng)建的定時(shí)器。

5、setInterval(cb, ms)

setInterval(cb, ms) 全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行指定函數(shù)(cb)。

返回一個(gè)代表定時(shí)器的句柄值。可以使用 clearInterval(t) 函數(shù)來(lái)清除定時(shí)器。

setInterval() 方法會(huì)不停地調(diào)用函數(shù),直到 clearInterval() 被調(diào)用或窗口被關(guān)閉。

6、console

console對(duì)象的方法跟傳統(tǒng)js在瀏覽器打印的方法類(lèi)型,略。

7、process

它用于描述當(dāng)前Node.js 進(jìn)程狀態(tài)的對(duì)象,提供了一個(gè)與操作系統(tǒng)的簡(jiǎn)單接口。通常在你寫(xiě)本地命令行程序的時(shí)候,少不了要 和它打交道。

  • exit
    當(dāng)進(jìn)程準(zhǔn)備退出時(shí)觸發(fā)。

  • beforeExit
    當(dāng) node 清空事件循環(huán),并且沒(méi)有其他安排時(shí)觸發(fā)這個(gè)事件。通常來(lái)說(shuō),當(dāng)沒(méi)有進(jìn)程安排時(shí) node 退出,但是 ‘beforeExit’ 的監(jiān)聽(tīng)器可以異步調(diào)用,這樣 node 就會(huì)繼續(xù)執(zhí)行。

  • uncaughtException
    當(dāng)一個(gè)異常冒泡回到事件循環(huán),觸發(fā)這個(gè)事件。如果給異常添加了監(jiān)視器,默認(rèn)的操作(打印堆棧跟蹤信息并退出)就不會(huì)發(fā)生。

  • Signal 事件
    當(dāng)進(jìn)程接收到信號(hào)時(shí)就觸發(fā)。信號(hào)列表詳見(jiàn)標(biāo)準(zhǔn)的 POSIX 信號(hào)名,如 SIGINT、SIGUSR1 等。

以上就是關(guān)于“node的全局對(duì)象是什么”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI