更新時(shí)間:2023-05-18 來源:黑馬程序員 瀏覽量:
在之前使用JavaScript的過程中,在瀏覽器中默認(rèn)聲明的變量、函數(shù)等都屬于全局對(duì)象window,全局對(duì)象中的所有變量和函數(shù)在全局作用域內(nèi)都是有效的。例如,使用console.log0進(jìn)行值的輸出時(shí),console.log0屬于window對(duì)象的方法,又因?yàn)閣indow是全局對(duì)象,所以在實(shí)際使用中可以省略掉 window。
在Node.js中,一個(gè)重要的特性就是模塊化,默認(rèn)聲明的變量、函數(shù)都屬于當(dāng)前文件模塊,都是私有的,只在當(dāng)前模塊作用域內(nèi)可以使用,那么Node.js中是否只有模塊作用域?答案是否定的,如果想在全局范圍內(nèi)為某個(gè)變量賦值,可以應(yīng)用全局對(duì)象global。Node.js中的global對(duì)象類似于瀏覽器中的window對(duì)象,用于定義全局命名空間,所有全局變量(除了global本身外)都是global對(duì)象的屬性,在實(shí)際使用中可以省略global。
Node.js中的global 全局對(duì)象包含console.log0、sefTimeout)、clearTimeout)、setlnterval)、clearlnterval0等方法,可以在任何地方使用。下面來演示上述方法在Node.js運(yùn)行環(huán)境中的使用。
global.console.log('我是global對(duì)象中的console.log()方法'); global.setTimeout(() =>{ console.log('123'); },2000);
上述代碼中,第l行和第2行代碼分別調(diào)用eonsole.log0和sefTimeout0方法,在Node.js環(huán)境下驗(yàn)證這兩個(gè)方法是否屬于global對(duì)象下的方法。
(2)打開命令行工具,切換到global.js文件所在的目錄,并輸人“node globaljs”命令。globaljs文件執(zhí)行結(jié)果如圖,從圖中的輸出結(jié)果可以看出,global對(duì)象包含jspnsole.log0和sefT'imeout()方法。
前端中setTimeout時(shí)間為0,以及誤差的原因是什么?
2023-05-16最新!前端Vue3企業(yè)級(jí)實(shí)戰(zhàn)教程《小兔鮮》全套發(fā)布
2023-05-09做前端開發(fā)需要掌握哪些技術(shù)?
2023-05-09JavaScript和Java有什么關(guān)系?JavaScript語言特點(diǎn)
2023-05-09DOM注冊(cè)事件:傳統(tǒng)注冊(cè)和方法監(jiān)聽注冊(cè)
2023-05-08DOM操作怎樣改變?cè)氐膬?nèi)容和屬性?【DOM核心內(nèi)容】
2023-05-08