2023學(xué)年完整公開課版1Nodejs全局對象_第1頁
2023學(xué)年完整公開課版1Nodejs全局對象_第2頁
2023學(xué)年完整公開課版1Nodejs全局對象_第3頁
2023學(xué)年完整公開課版1Nodejs全局對象_第4頁
2023學(xué)年完整公開課版1Nodejs全局對象_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Node.js全局對象2知識目標(biāo)什么是Node.js全局對象?全局對象與全局變量全局對象及其實(shí)例01能力目標(biāo)了解何為Node.js全局對象?了解全局對象與全局變量了解全局對象及其實(shí)例02學(xué)習(xí)目標(biāo)3目錄01什么是Node.js全局對象?02全局對象與全局變量03全局對象及其實(shí)例什么是Node.js全局對象?4JavaScript中有一個(gè)特殊的對象,稱為全局對象(GlobalObject),它及其所有屬性都可以在程序的任何地方訪問,即全局變量。在瀏覽器JavaScript中,通常window是全局對象,而Node.js中的全局對象是global,所有全局變量(除了global本身以外)都是global對象的屬性。在Node.js我們可以直接訪問到global的屬性,而不需要在應(yīng)用中包含它。全局對象與全局變量5global最根本的作用是作為全局變量的宿主。按照ECMAScript的定義,滿足以下條件的變量是全局變量:? 在最外層定義的變量;? 全局對象的屬性;? 隱式定義的變量(未定義直接賦值的變量)。當(dāng)你定義一個(gè)全局變量時(shí),這個(gè)變量同時(shí)也會成為全局對象的屬性,反之亦然。需要注意的是,在Node.js中你不可能在最外層定義變量,因?yàn)樗杏脩舸a都是屬于當(dāng)前模塊的,而模塊本身不是最外層上下文。注意:最好不要使用var定義變量以避免引入全局變量,因?yàn)槿肿兞繒廴久臻g,提高代碼的耦合風(fēng)險(xiǎn)。全局對象及其實(shí)例6__filename__filename

表示當(dāng)前正在執(zhí)行的腳本的文件名。它將輸出文件所在位置的絕對路徑,且和命令行參數(shù)所指定的文件名不一定相同。如果在模塊中,返回的值是模塊文件的路徑。實(shí)例創(chuàng)建文件main.js,代碼如下所示:執(zhí)行main.js文件,代碼如下所示:全局對象及其實(shí)例7__dirname__dirname

表示當(dāng)前執(zhí)行腳本所在的目錄。實(shí)例創(chuàng)建文件main.js,代碼如下所示:執(zhí)行main.js文件,代碼如下所示:全局對象及其實(shí)例8setTimeout(cb,ms)setTimeout(cb,ms)

全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行指定函數(shù)(cb)。:setTimeout()只執(zhí)行一次指定函數(shù)。返回一個(gè)代表定時(shí)器的句柄值。實(shí)例創(chuàng)建文件main.js,代碼如下所示:執(zhí)行main.js文件,代碼如下所示:全局對象及其實(shí)例9clearTimeout(t)clearTimeout(t)

全局函數(shù)用于停止一個(gè)之前通過setTimeout()創(chuàng)建的定時(shí)器。參數(shù)

t

是通過setTimeout()函數(shù)創(chuàng)建的定時(shí)器。實(shí)例創(chuàng)建文件main.js,代碼如下所示:執(zhí)行main.js文件,代碼如下所示:全局對象及其實(shí)例10setInterval(cb,ms)setInterval(cb,ms)

全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行指定函數(shù)(cb)。返回一個(gè)代表定時(shí)器的句柄值??梢允褂?/p>

clearInterval(t)

函數(shù)來清除定時(shí)器。setInterval()方法會不停地調(diào)用函數(shù),直到clearInterval()被調(diào)用或窗口被關(guān)閉。實(shí)例創(chuàng)建文件main.js,代碼如下所示:執(zhí)行main.js文件,代碼如下所示:Hello,World!Hello,World!Hello,World!Hello,World!Hello,World!……以上程序每隔兩秒就會輸出一次"Hello,World!",且會永久執(zhí)行下去,直到你按下ctrl+c按鈕。全局對象及其實(shí)例11consoleconsole用于提供控制臺標(biāo)準(zhǔn)輸出,它是由InternetExplorer的JScript引擎提供的調(diào)試工具,后來逐漸成為瀏覽器的實(shí)施標(biāo)準(zhǔn)。Node.js沿用了這個(gè)標(biāo)準(zhǔn),提供與習(xí)慣行為一致的console對象,用于向標(biāo)準(zhǔn)輸出流(stdout)或標(biāo)準(zhǔn)錯(cuò)誤流(stderr)輸出字符。console方法以下為console對象的方法:全局對象及其實(shí)例12全局對象及其實(shí)例13console.log():向標(biāo)準(zhǔn)輸出流打印字符并以換行符結(jié)束。console.log接收若干個(gè)參數(shù),如果只有一個(gè)參數(shù),則輸出這個(gè)參數(shù)的字符串形式。如果有多個(gè)參數(shù),則以類似于C語言printf()命令的格式輸出。第一個(gè)參數(shù)是一個(gè)字符串,如果沒有參數(shù),只打印一個(gè)換行。全局對象及其實(shí)例14運(yùn)行結(jié)果為:console.error():與console.log()用法相同,只是向標(biāo)準(zhǔn)錯(cuò)誤流輸出。console.trace():向標(biāo)準(zhǔn)錯(cuò)誤流輸出當(dāng)前的調(diào)用棧。運(yùn)行結(jié)果為:全局對象及其實(shí)例15實(shí)例創(chuàng)建文件main.js,代碼如下所示:全局對象及其實(shí)例16執(zhí)行main.js文件,代碼如下所示:全局對象及其實(shí)例17processprocess是一個(gè)全局變量,即global對象的屬性。它用于描述當(dāng)前Node.js進(jìn)程狀態(tài)的對象,提供了一個(gè)與操作系統(tǒng)的簡單接口。通常在你寫本地命令行程序的時(shí)候,少不了要和它打交道。下面將會介紹process對象的一些最常用的成員方法。全局對象及其實(shí)例18實(shí)例創(chuàng)建文件main.js,代碼如下所示:執(zhí)行main.js文件,代碼如下所示:全局對象及其實(shí)例19退出狀態(tài)碼退出狀態(tài)碼如下所示:全局對象及其實(shí)例20全局對象及其實(shí)例21Process屬性Process提供了很多有用的屬性,便于我們更好的控制系統(tǒng)的交互:全局對象及其實(shí)例22全局對象及其實(shí)例23全局對象及其實(shí)例24實(shí)例創(chuàng)建文件main.js,代碼如下所示:全局對象及其實(shí)例25執(zhí)行main.js文件,代碼如下所示:全局對象及其實(shí)例26方法參考手冊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論