這篇文章主要介紹“node全局對(duì)象指的是什么”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“node全局對(duì)象指的是什么”文章能幫助大家解決問題。
成都創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需求定制開發(fā),是成都網(wǎng)站開發(fā)公司,為效果圖設(shè)計(jì)提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開發(fā)等。成都網(wǎng)站推廣熱線:028-86922220
在node中,全局對(duì)象是不需要引用就可以直接使用的對(duì)象,可以分為:1、為模塊包裝使用的全局對(duì)象;2、process對(duì)象;3、控制臺(tái)Console模塊;4、EventLoop相關(guān)api;5、Buffer對(duì)象;6、global。
本教程操作環(huán)境:windows10系統(tǒng)、nodejs 12.19.0版本、Dell G3電腦。
全局對(duì)象就是不需要引用就可以直接使用的對(duì)象。需要注意的是全局對(duì)象區(qū)別于global關(guān)鍵字。
nodejs全局對(duì)象分為以下幾類:
1、為模塊包裝使用的全局對(duì)象
(1)exports
(2)module
(3)require
(4)__filename:當(dāng)前文件名稱
(5)__dirname:當(dāng)前文件目錄
2、process對(duì)象
3、控制臺(tái)Console模塊
4、EventLoop相關(guān)api
(1)setImmediate
(2)setInterval
(3)setTimeout
(4)相關(guān)clear
5、Buffer對(duì)象
6、global
所有全局變量(除了 global 本身以外)都是 global 對(duì)象的屬性
可以處理二進(jìn)制以及非Unicode編碼的數(shù)據(jù)
在Buffer類實(shí)例化中存儲(chǔ)了原始數(shù)據(jù)。Buffer類似于一個(gè)整數(shù)數(shù)組,在V8堆原始存儲(chǔ)空間給它分配了內(nèi)存
一旦創(chuàng)建了Buffer實(shí)例,則無法改變大小
進(jìn)程對(duì)象,提供有關(guān)當(dāng)前過程的信息和控制
包括在執(zhí)行node程序的過程中,如果需要傳遞參數(shù),我們想要獲取這個(gè)參數(shù)需要在process內(nèi)置對(duì)象中
啟動(dòng)進(jìn)程:
node index.js 參數(shù)1 參數(shù)2 參數(shù)3
index.js文件如下:
process.argv.forEach((val, index) => { console.log(`${index}: ${val}`);});
輸出如下:
/usr/local/bin/node/Users/mjr/work/node/process-args.js 參數(shù)1參數(shù)2參數(shù)3
除此之外,還包括一些其他信息如版本、操作系統(tǒng)等
用來打印stdout和stderr
最常用的輸入內(nèi)容的方式:console.log
console.log("hello");
清空控制臺(tái):console.clear
console.clear
打印函數(shù)的調(diào)用棧:console.trace
function test() { demo();}function demo() { foo();}function foo() { console.trace();}test();
設(shè)置定時(shí)器與清除定時(shí)器
setInterval(callback, delay[, ...args])
callback每delay毫秒重復(fù)執(zhí)行一次
clearInterval則為對(duì)應(yīng)發(fā)取消定時(shí)器的方法
設(shè)置延時(shí)器與清除延時(shí)器
setTimeout(callback,delay[,...args])
callback在delay毫秒后執(zhí)行一次
clearTimeout則為對(duì)應(yīng)取消延時(shí)器的方法
全局命名空間對(duì)象,墻面講到的process、console、setTimeout等都有放到global中
console.log(process === global.process) // true
這些全局對(duì)象是模塊中的變量,只是每個(gè)模塊都有,看起來就像全局變量,像在命令交互中是不可以使用,包括:
__dirname
__filename
exports
module
require
獲取當(dāng)前文件所在的路徑,不包括后面的文件名
從 /Users/mjr 運(yùn)行 node example.js:
console.log(__dirname);// 打印: /Users/mjr
獲取當(dāng)前文件所在的路徑和文件名稱,包括后面的文件名稱
從 /Users/mjr 運(yùn)行 node example.js:
console.log(__filename);// 打印: /Users/mjr/example.js
module.exports 用于指定一個(gè)模塊所導(dǎo)出的內(nèi)容,即可以通過 require() 訪問的內(nèi)容
exports.name = name;exports.age = age;exports.sayHello = sayHello;
對(duì)當(dāng)前模塊的引用,通過module.exports 用于指定一個(gè)模塊所導(dǎo)出的內(nèi)容,即可以通過 require() 訪問的內(nèi)容
用于引入模塊、 JSON、或本地文件??梢詮?node_modules 引入模塊。
可以使用相對(duì)路徑引入本地模塊或JSON文件,路徑會(huì)根據(jù)__dirname定義的目錄名或當(dāng)前工作目錄進(jìn)行處理
關(guān)于“node全局對(duì)象指的是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。