日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

node-全局对象

發(fā)布時間:2025/6/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 node-全局对象 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Node.js 全局對象
JavaScript 中有一個特殊的對象,稱為全局對象(Global Object),它及其所有屬性都可以在程序的任何地方訪問,即全局變量。
全局對象與全局變量
global 最根本的作用是作為全局變量的宿主。按照 ECMAScript 的定義,滿足以下條 件的變量是全局變量:
在最外層定義的變量;
全局對象的屬性;
隱式定義的變量(未定義直接賦值的變量)。
當你定義一個全局變量時,這個變量同時也會成為全局對象的屬性,反之亦然。需要注 意的是,在 Node.js 中你不可能在最外層定義變量,因為所有用戶代碼都是屬于當前模塊的, 而模塊本身不是最外層上下文。
注意: 最好不要使用 var 定義變量以避免引入全局變量,因為全局變量會污染命名空間,提高代碼的耦合風險。


__filename 表示當前正在執(zhí)行的腳本的文件名。
__dirname 表示當前執(zhí)行腳本所在的目錄。

setTimeout(cb, ms) 全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行指定函數(shù)(cb)。:setTimeout() 只執(zhí)行一次指定函數(shù)。
返回一個代表定時器的句柄值。
clearTimeout( t ) 全局函數(shù)用于停止一個之前通過 setTimeout() 創(chuàng)建的定時器。 參數(shù) t 是通過 setTimeout() 函數(shù)創(chuàng)建的定時器。
setInterval(cb, ms) 全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行指定函數(shù)(cb)。
返回一個代表定時器的句柄值??梢允褂?clearInterval(t) 函數(shù)來清除定時器。
setInterval() 方法會不停地調(diào)用函數(shù),直到 clearInterval() 被調(diào)用或窗口被關(guān)閉。
console
序號?? ?方法 & 描述
1?? ?console.log([data][, ...])
向標準輸出流打印字符并以換行符結(jié)束。該方法接收若干 個參數(shù),如果只有一個參數(shù),則輸出這個參數(shù)的字符串形式。如果有多個參數(shù),則 以類似于C 語言 printf() 命令的格式輸出。
2?? ?console.info([data][, ...])
該命令的作用是返回信息性消息,這個命令與console.log差別并不大,除了在chrome中只會輸出文字外,其余的會顯示一個藍色的驚嘆號。
3?? ?console.error([data][, ...])
輸出錯誤消息的。控制臺在出現(xiàn)錯誤時會顯示是紅色的叉子。
4?? ?console.warn([data][, ...])
輸出警告消息。控制臺出現(xiàn)有黃色的驚嘆號。
5?? ?console.dir(obj[, options])
用來對一個對象進行檢查(inspect),并以易于閱讀和打印的格式顯示。
6?? ?console.time(label)
輸出時間,表示計時開始。
7?? ?console.timeEnd(label)
結(jié)束時間,表示計時結(jié)束。
8?? ?console.trace(message[, ...])
當前執(zhí)行的代碼在堆棧中的調(diào)用路徑,這個測試函數(shù)運行很有幫助,只要給想測試的函數(shù)里面加入 console.trace 就行了。
9?? ?console.assert(value[, message][, ...])
用于判斷某個表達式或變量是否為真,接收兩個參數(shù),第一個參數(shù)是表達式,第二個參數(shù)是字符串。只有當?shù)谝粋€參數(shù)為false,才會輸出第二個參數(shù),否則不會有任何結(jié)果。
console.log():向標準輸出流打印字符并以換行符結(jié)束。
console.log 接收若干 個參數(shù),如果只有一個參數(shù),則輸出這個參數(shù)的字符串形式。如果有多個參數(shù),則 以類似于C 語言 printf() 命令的格式輸出。

process 是一個全局變量,即 global 對象的屬性。

它用于描述當前Node.js 進程狀態(tài)的對象,提供了一個與操作系統(tǒng)的簡單接口。序號?? ?事件 & 描述
1?? ?exit
當進程準備退出時觸發(fā)。
2?? ?beforeExit
當 node 清空事件循環(huán),并且沒有其他安排時觸發(fā)這個事件。通常來說,當沒有進程安排時 node 退出,但是 'beforeExit' 的監(jiān)聽器可以異步調(diào)用,這樣 node 就會繼續(xù)執(zhí)行。
3?? ?uncaughtException
當一個異常冒泡回到事件循環(huán),觸發(fā)這個事件。如果給異常添加了監(jiān)視器,默認的操作(打印堆棧跟蹤信息并退出)就不會發(fā)生。
4?? ?Signal 事件
當進程接收到信號時就觸發(fā)。信號列表詳見標準的 POSIX 信號名,如 SIGINT、SIGUSR1 等。


Process 提供了很多有用的屬性,便于我們更好的控制系統(tǒng)的交互:

序號.?? ?屬性 & 描述
1?? ?stdout
標準輸出流。
2?? ?stderr
標準錯誤流。
3?? ?stdin
標準輸入流。
4?? ?argv
argv 屬性返回一個數(shù)組,由命令行執(zhí)行腳本時的各個參數(shù)組成。它的第一個成員總是node,第二個成員是腳本文件名,其余成員是腳本文件的參數(shù)。
5?? ?execPath
返回執(zhí)行當前腳本的 Node 二進制文件的絕對路徑。
6?? ?execArgv
返回一個數(shù)組,成員是命令行下執(zhí)行腳本時,在Node可執(zhí)行文件與腳本文件之間的命令行參數(shù)。
7?? ?env
返回一個對象,成員為當前 shell 的環(huán)境變量
8?? ?exitCode
進程退出時的代碼,如果進程優(yōu)通過 process.exit() 退出,不需要指定退出碼。
9?? ?version
Node 的版本,比如v0.10.18。
10?? ?versions
一個屬性,包含了 node 的版本和依賴.
11?? ?config
一個包含用來編譯當前 node 執(zhí)行文件的 javascript 配置選項的對象。它與運行 ./configure 腳本生成的 "config.gypi" 文件相同。
12?? ?pid
當前進程的進程號。
13?? ?title
進程名,默認值為"node",可以自定義該值。
14?? ?arch
當前 CPU 的架構(gòu):'arm'、'ia32' 或者 'x64'。
15?? ?platform
運行程序所在的平臺系統(tǒng) 'darwin', 'freebsd', 'linux', 'sunos' 或 'win32'
16?? ?mainModule
require.main 的備選方法。不同點,如果主模塊在運行時改變,require.main可能會繼續(xù)返回老的模塊??梢哉J為,這兩者引用了同一個模塊。

方法參考手冊
Process 提供了很多有用的方法,便于我們更好的控制系統(tǒng)的交互:

序號?? ?方法 & 描述
1?? ?abort()
這將導(dǎo)致 node 觸發(fā) abort 事件。會讓 node 退出并生成一個核心文件。
2?? ?chdir(directory)
改變當前工作進程的目錄,如果操作失敗拋出異常。
3?? ?cwd()
返回當前進程的工作目錄
4?? ?exit([code])
使用指定的 code 結(jié)束進程。如果忽略,將會使用 code 0。
5?? ?getgid()
獲取進程的群組標識(參見 getgid(2))。獲取到得時群組的數(shù)字 id,而不是名字。
注意:這個函數(shù)僅在 POSIX 平臺上可用(例如,非Windows 和 Android)。
6?? ?setgid(id)
設(shè)置進程的群組標識(參見 setgid(2))??梢越邮諗?shù)字 ID 或者群組名。如果指定了群組名,會阻塞等待解析為數(shù)字 ID 。
注意:這個函數(shù)僅在 POSIX 平臺上可用(例如,非Windows 和 Android)。
7?? ?getuid()
獲取進程的用戶標識(參見 getuid(2))。這是數(shù)字的用戶 id,不是用戶名。
注意:這個函數(shù)僅在 POSIX 平臺上可用(例如,非Windows 和 Android)。
8?? ?setuid(id)
設(shè)置進程的用戶標識(參見setuid(2))。接收數(shù)字 ID或字符串名字。果指定了群組名,會阻塞等待解析為數(shù)字 ID 。
注意:這個函數(shù)僅在 POSIX 平臺上可用(例如,非Windows 和 Android)。
9?? ?getgroups()
返回進程的群組 iD 數(shù)組。POSIX 系統(tǒng)沒有保證一定有,但是 node.js 保證有。
注意:這個函數(shù)僅在 POSIX 平臺上可用(例如,非Windows 和 Android)。
10?? ?setgroups(groups)
設(shè)置進程的群組 ID。這是授權(quán)操作,所以你需要有 root 權(quán)限,或者有 CAP_SETGID 能力。
注意:這個函數(shù)僅在 POSIX 平臺上可用(例如,非Windows 和 Android)。
11?? ?initgroups(user, extra_group)
讀取 /etc/group ,并初始化群組訪問列表,使用成員所在的所有群組。這是授權(quán)操作,所以你需要有 root 權(quán)限,或者有 CAP_SETGID 能力。
注意:這個函數(shù)僅在 POSIX 平臺上可用(例如,非Windows 和 Android)。
12?? ?kill(pid[, signal])
發(fā)送信號給進程. pid 是進程id,并且 signal 是發(fā)送的信號的字符串描述。信號名是字符串,比如 'SIGINT' 或 'SIGHUP'。如果忽略,信號會是 'SIGTERM'。
13?? ?memoryUsage()
返回一個對象,描述了 Node 進程所用的內(nèi)存狀況,單位為字節(jié)。
14?? ?nextTick(callback)
一旦當前事件循環(huán)結(jié)束,調(diào)用回調(diào)函數(shù)。
15?? ?umask([mask])
設(shè)置或讀取進程文件的掩碼。子進程從父進程繼承掩碼。如果mask 參數(shù)有效,返回舊的掩碼。否則,返回當前掩碼。
16?? ?uptime()
返回 Node 已經(jīng)運行的秒數(shù)。
17?? ?hrtime()
返回當前進程的高分辨時間,形式為 [seconds, nanoseconds]數(shù)組。它是相對于過去的任意事件。該值與日期無關(guān),因此不受時鐘漂移的影響。主要用途是可以通過精確的時間間隔,來衡量程序的性能。
你可以將之前的結(jié)果傳遞給當前的 process.hrtime() ,會返回兩者間的時間差,用來基準和測量時間間隔。
?

總結(jié)

以上是生活随笔為你收集整理的node-全局对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。