您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“nodejs中的全局對象是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
Node.js中,一個.js文件就是一個完整的作用域(module,模塊)。因此 var 聲明的變量只在當(dāng)前.js文件中有效,而不是全局有效。 而global全局對象是獨(dú)立于所有的.js(module,模塊)之上的。
而在瀏覽器中的最頂層全局對象是window,var聲明的變量默認(rèn)綁定到window對象上
概念:在程序的任何地方都可以訪問的對象,稱之為全局對象。對象的屬性稱為全局變量。
這里我們總結(jié)下在nodejs中,我們常用的全局變量有哪些
2.1 Buffer類
Buffer,我們也可以稱為“緩沖區(qū)”,其功能就是在內(nèi)存中開辟一片區(qū)域,用來存放二進(jìn)制數(shù)據(jù)。
2.2 __dirname
__dirname,返回當(dāng)前模塊文件解析過后所在的文件夾(目錄)的絕對路徑。
請記住,__dirname并不是真正的全局變量。
2.3 __filename
__filename,返回當(dāng)前模塊文件被解析過后的絕對路徑。
請記住,__filename并不是真正的全局變量。
2.4 module
請記住,module并不是真正的全局變量。
2.5 require()
請記住,require()并不是真正的全局變量。
2.6 exports
請記住,exports并不是真正的全局變量。
2.7 setImmediate
和clearImmediate
2.8 setTimeout
和clearTimeout
2.9 setInterval
和 clearInterval
2.10 console
用于打印到標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤
2.11 process
process
對象提供有關(guān)當(dāng)前 Node.js 進(jìn)程的信息并對其進(jìn)行控制。
2.12 URL
URL
用于網(wǎng)址處理和解析的實(shí)用工具
2.13 events
events模塊是Node對“發(fā)布/訂閱”模式(publish/subscribe)的實(shí)現(xiàn)。一個對象通過這個模塊,向另一個對象傳遞消息。該模塊通過EventEmitter屬性,提供了一個構(gòu)造函數(shù)。
3.1 globalThis是什么?
JS 語言越來越多被用于各種環(huán)境中。除了最常見的瀏覽器之外,它還可以在服務(wù)器、智能手機(jī)甚至機(jī)器人硬件上運(yùn)行。
每個環(huán)境都有其自己的對象模型,并提供了不同的語法來訪問全局對象。例如,在 Web 瀏覽器中,可以通過window,self或frames訪問全局對象。但是,在 Node.js 中,這些屬性不存在,而必須使用global。
globalThis旨在通過定義一個標(biāo)準(zhǔn)的全局屬性來整合日益分散的訪問全局對象的方法。該提案被納入ES2020標(biāo)準(zhǔn)。所有流行的瀏覽器,包括Chrome 71+、Firefox 65+和Safari 12.1+,都已經(jīng)支持這項(xiàng)功能。你也可以在Node.js 12+中來使用它。
“nodejs中的全局對象是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。