首頁 > web前端 > js教程 > 主體

node的全域物件是哪個

青灯夜游
發布: 2022-07-11 19:01:23
原創
2095 人瀏覽過

node的全域物件是“global”,global最根本的作用是作為全域變數的宿主;而所有全域變數(除了global本身以外)都是global物件的屬性。在Node.js中可以直接存取到global的屬性,而不需要在應用程式中包含它。

node的全域物件是哪個

本教學操作環境:windows7系統、nodejs16版,DELL G3電腦。

JavaScript 中有一個特殊的對象,稱為全域物件(Global Object),它及其所有屬性都可以在程式的任何地方訪問,即全域變數。

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

在 Node.js 我們可以直接存取到 global 的屬性,而不需要在應用程式中包含它。

全域物件與全域變數

global 最根本的作用是作為全域變數的宿主。 依照ECMAScript 的定義,滿足以下條件的變數是全域變數:

  • 在最外層定義的變數;

  • 全域物件的屬性;

  • 隱含定義的變數(未定義直接賦值的變數)。

當你定義一個全域變數時,這個變數同時也會成為全域物件的屬性,反之亦然。要注意 意的是,在 Node.js 中你不可能在最外層定義變量,因為所有使用者程式碼都是屬於目前模組的, 而模組本身不是最外層上下文。

注意: 最好不要使用 var 定義變數以避免引入全域變量,因為全域變數會污染命名空間,提高程式碼的耦合風險。

1、__filename

新global.js,內容如下:

console.log( __filename );
登入後複製

運行如下:

node global.js __filename=/root/node_test/global.js
登入後複製

#2 、__dirname

新dirname.js,內容如下:

console.log(__dirname);
登入後複製

運行如下:

node  dirname.js /root/node_test
登入後複製

3、setTimeout(cb, ms)

setTimeout(cb, ms) 全域函數在指定的毫秒(ms)數後執行指定函數(cb)。 :setTimeout() 只執行一次指定函數。

傳回一個代表定時器的句柄值。

4、clearTimeout(t)

clearTimeout( t ) 全域函數用來停止一個先前透過 setTimeout() 建立的計時器。參數 t 是透過 setTimeout() 函數建立的定時器。

5、setInterval(cb, ms)

setInterval(cb, ms) 全域函數在指定的毫秒(ms)數後執行指定函數(cb)。

傳回一個代表定時器的句柄值。可以使用 clearInterval(t) 函數來清除定時器。

setInterval() 方法會不停地呼叫函數,直到 clearInterval() 被呼叫或視窗關閉。

6、console

console物件的方法跟傳統js在瀏覽器列印的方法類型,略。

7、process

它用於描述當前Node.js 進程狀態的對象,提供了一個與作業系統的簡單介面。通常在你寫本機命令列程式的時候,少不了要 ​​和它打交道。

  • exit
    當進程準備退出時觸發。 

  • beforeExit
    當 node 清空事件循環,並且沒有其他排程觸發這個事件。通常來說,當沒有進程安排時 node 退出,但是 ‘beforeExit’ 的監聽器可以非同步調用,這樣 node 就會繼續執行。 

  • uncaughtException
    當一個異常冒泡回到事件循環,觸發這個事件。如果為異常添加了監視器,預設的操作(列印堆疊追蹤資訊並退出)就不會發生。 

  • Signal 事件
    當進程接收到訊號時就會觸發。訊號清單詳見標準的 POSIX 訊號名,如 SIGINT、SIGUSR1 等。

更多node相關知識,請造訪:nodejs 教學

以上是node的全域物件是哪個的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!