W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在Node.js中我們可以直接訪問到全局對象。
這些對象在所有模塊里都是可用的,有些對象不是在全局作用域而是在模塊作用域里,這些情況將在本文的內(nèi)容中進行介紹。
在瀏覽器中,全局作用域就是頂級域。如果在全局域內(nèi)定義變量var something
將會是全局變量。而在Node中,頂級域并不是全局域;在模塊里定義變量 var something
只是模塊內(nèi)可用。
進程對象。參見process object章節(jié).
用來打印stdout和stderr。參見console章節(jié).
用來處理二進制數(shù)據(jù)。參見buffer 章節(jié)。
引入模塊。參見Modules章節(jié)。require
實際上并非全局的,而是各個本地模塊有效。
使用內(nèi)部require()
機制來查找module位置,但是不加載模塊,只是返回解析過的文件名。
引入模塊時會緩存到這個對象。通過刪除該對象鍵值,下次調(diào)用require
將會重載該模塊。
穩(wěn)定性: 0 - 拋棄
指導(dǎo)require
如何處理特定的文件擴展名。
將.sjs
文件當(dāng)作.js
文件處理:
require.extensions['.sjs'] = require.extensions['.js'];
拋棄 以前這個列表用來加載按需編譯的非JavaScript模塊到node。實際上,有更好的辦法來解決這個問題,比如通過其他node程序來加載模塊,或者提前編譯成 JavaScript。
由于模塊系統(tǒng)已經(jīng)鎖定,該功能可能永遠(yuǎn)不會去掉。改動它可能會產(chǎn)生bug,所以最好不要動它。
被執(zhí)行的代碼的文件名是相對路徑。對于主程序來說,這和命令行里未必用同一個文件名。模塊里的值是模塊文件的路徑。
列如,運行/Users/mjr
里的node example.js
:
console.log(__filename);
// /Users/mjr/example.js
__filename
不是全局的,而是模塊本地的。
執(zhí)行的script代碼所在的文件夾的名字。
列如,運行/Users/mjr
里的node example.js
:
console.log(__dirname);
// /Users/mjr
__dirname
不是全局的,而是模塊本地的。
當(dāng)前模塊的引用。通過require()
,module.exports
定義了哪個模塊輸出可用。
module
不是全局的,而是模塊本地的。
更多信息參見module system documentation。
module.exports
的引用。關(guān)于什么時候使用exports
和module.exports
,可以參考module system documentation。
module
不是全局的,而是模塊本地的。
更多信息參見module system documentation。
更多信息參見module 章節(jié)。
最少在ms
毫秒后調(diào)回調(diào)函數(shù)。實際的延遲依賴于外部因素,比如操作系統(tǒng)的粒度和負(fù)載。
timeout值有效范圍為1-2,147,483,647。如果超過該范圍,將會變?yōu)?毫秒。通常,定時器不應(yīng)該超過24.8天。
返回一個代表定時器的句柄值。
停止一個之前通過setTimeout()
創(chuàng)建的定時器。不會再被執(zhí)行回調(diào)。
每隔ms
毫秒調(diào)用回調(diào)函數(shù)cb
。實際的間隔依賴于外部因素,比如操作系統(tǒng)的粒度和系統(tǒng)負(fù)載。通常會大于ms
。
間隔值的有效范圍在1-2,147,483,647。如果超過該范圍,將會變?yōu)?毫秒。通常,定時器不應(yīng)該超過24.8天。
返回一個代表該定時器的句柄值。
停止一個之前通過setInterval()
創(chuàng)建的定時器。不會再被執(zhí)行回調(diào)。
timer函數(shù)是全局變量。參見timers章節(jié)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: