首頁  >  文章  >  web前端  >  認識nodejs中的全域對象,看看它與瀏覽器中全域物件的區別

認識nodejs中的全域對象,看看它與瀏覽器中全域物件的區別

青灯夜游
青灯夜游轉載
2021-12-03 19:00:262314瀏覽

這篇文章帶大家了解一下node中的全域對象,介紹一下nodejs全域物件與瀏覽器中的全域物件的差別,希望對大家有幫助!

認識nodejs中的全域對象,看看它與瀏覽器中全域物件的區別

Node.js中,一個.js檔案就是一個完整的作用域(module,模組)。因此 var 宣告的變數只在當前.js檔案中有效,而不是全域有效。而global全域物件是獨立於所有的.js(module,模組)之上的。

而在瀏覽器中的最頂層全域物件是window,var宣告的變數預設綁​​定到window物件上

1. 全域物件的定義

概念:在程式的任何地方都可以存取的對象,稱之為全域物件。物件的屬性稱為全域變數。

2. NodeJS中的全域變數總結

這裡我們總結下在nodejs中,我們常用的全域變數有哪些

##2.1 Buffer類別

#Buffer,我們也可以稱為“緩衝區”,其功能就是在記憶體中開闢一片區域,用來存放二進位資料。

2.2 __dirname

#__dirname,傳回目前模組檔案解析後所在的資料夾(目錄)的絕對路徑。

請記住,__dirname並不是真正的全域變數。

2.3 __filename

__filename,傳回目前模組文件被解析過後的絕對路徑。

請記住,__filename並不是真正的全域變數。

2.4 <span style="font-size: 18px;"></span>module<span style="font-size: 18px;"></span>

#請記住,module並不是真正的全域變數。

2.5 <span style="font-size: 18px;"></span>require()<span style="font-size: 18px;"></span>

#請記住,require()並不是真正的全域變數。

2.6 <span style="font-size: 18px;"></span>exports<span style="font-size: 18px;"></span>

#請記住,exports並不是真正的全域變數。

2.7 <span style="font-size: 18px;"></span>setImmediate<span style="font-size: 18px;"></span>和<span style="font-size: 18px;"></span>##clearImmediate<span style="font-size: 18px;"></span>

<span style="font-size: 18px;"></span><span style="font-size: 18px;"></span><span style="font-size: 18px;"></span><span style="font-size: 18px;">2.8 </span>setTimeout

#和<span style="font-size: 18px;"></span>##clearTimeout<span style="font-size: 18px;"></span><span style="font-size: 18px;"></span><span style="font-size: 18px;"></span>

<span style="font-size: 18px;"></span><span style="font-size: 18px;"></span>

#2.9 <span style="font-size: 18px;"></span>setInterval<span style="font-size: 18px;"></span>

clearInterval

<span style="font-size: 18px;"></span>#2.10 <span style="font-size: 18px;"></span>#console

用於列印到標準輸出和標準錯誤

2.11 <span style="font-size: 18px;"></span>process<span style="font-size: 18px;"></span>

process

 物件提供有關目前Node.js 進程的資訊並對其進行控制。

2.12

URL

URL

用於網址處理和解析的實用工具

######2.13 #########events###############events模組是Node對「發布/訂閱」模式(publish/subscribe)的實作。一個物件透過這個模組,向另一個物件傳遞訊息。此模組透過EventEmitter屬性,提供了一個建構子。 #########3. globalThis################3.1 globalThis是什麼? ############JS 語言越來越多地被用於各種環境。除了最常見的瀏覽器之外,它還可以在伺服器、智慧型手機甚至機器人硬體上運行。 ######每個環境都有自己的物件模型,並提供了不同的語法來存取全域物件。例如,在 Web 瀏覽器中,可以透過window,self或frames存取全域物件。但是,在 Node.js 中,這些屬性不存在,而必須使用global。 ######globalThis旨在透過定義一個標準的全域屬性來整合日益分散的存取全域物件的方法。該提案被納入ES2020標準。所有流行的瀏覽器,包括Chrome 71 、Firefox 65 和Safari 12.1 ,都已經支援這項功能。你也可以在Node.js 12 中來使用它。 ###

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

以上是認識nodejs中的全域對象,看看它與瀏覽器中全域物件的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除