更新時(shí)間:2023年07月28日17時(shí)10分 來源:傳智教育 瀏覽次數(shù):
在之前使用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代碼的運(yùn)行環(huán)境中沒有DOM和BOM,因此也就不存在window對(duì)象,那么例2-1helloworld.js文件中使用的console.log0來自于哪里呢?
在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.log)、sefTimeouto、clearTimeout)、setlntervalo、clearlnterval0等法,可以在任何地方使用。下面來演示上述方法在Node.js運(yùn)行環(huán)境中的使用。
(1)創(chuàng)建C:hcodechapter02\global.js文件,編寫如下代碼。
global.console.log('我是global對(duì)象中的console.log()方法'); global.set7imeout(() =>{ console.log('123') }; 1,2000);
上述代碼中,第l行和第2行代碼分別調(diào)用console.log0和setTimeout0方法,在Node.js環(huán)境下驗(yàn)證這兩個(gè)方法是否屬于global對(duì)象下的方法。
global js 文件執(zhí)行結(jié)果
北京校區(qū)