成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

nodejs學(xué)習(xí)筆記--全局對象與全局變量-創(chuàng)新互聯(lián)

全局對象

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括河北網(wǎng)站建設(shè)、河北網(wǎng)站制作、河北網(wǎng)頁制作以及河北網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,河北網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到河北省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

在瀏覽器Javascript中,window是全局對象,而Node.js中全局對象是global,所有全局變量(除了global本身以外)都是global對象的屬性。

在Node.js中,我們可以直接訪問到global的屬性,而不需要在應(yīng)用中包含它。

全局變量

global 最根本的作用是作為全局變量的宿主。按照 ECMAScript 的定義,滿足以下條 件的變量是全局變量:

1、在最外層定義的變量;

2、全局對象的屬性;

3、隱式定義的變量(未定義直接賦值的變量)。

定義一個全局變量時,這個變量同時也會成為全局對象的屬性,反之亦然。需要注 意的是,在 Node.js 中不可能在最外層定義變量,因?yàn)樗杏脩舸a都是屬于當(dāng)前模塊的, 而模塊本身不是最外層上下文。

注意: 永遠(yuǎn)使用 var 定義變量以避免引入全局變量,因?yàn)槿肿兞繒廴?命名空間,提高代碼的耦合風(fēng)險。

__filename

雙下劃線filename表示當(dāng)前正在執(zhí)行的腳本的文件名,它將輸出文件所在位置的絕對路徑。它和命令行參數(shù)所指定的文件名不一定相同。 如果在模塊中,返回的值是模塊文件的路徑。

例子:創(chuàng)建一個main.js,代碼如下:

// 輸出全局變量 __filename 的值
console.log(__filename);

在命令行中執(zhí)行main.js文件,截圖如下:

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

__dirname

雙下劃線dirname表示當(dāng)前執(zhí)行腳本所在的目錄

創(chuàng)建一個main.js,代碼如下:

// 輸出全局變量 __dirname 的值
console.log(__dirname);

在命令行中執(zhí)行main.js文件,截圖如下:

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

setTimeout(cb,ms)

setTimeout(cb,ms)全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行執(zhí)行指定函數(shù)(cb)

setTimeout()只執(zhí)行一次指定函數(shù),返回一個代表定時器的句柄值

在main.js中創(chuàng)建如下代碼:

function printHello(){
    console.log('Hello World!');
}
//2秒后執(zhí)行printHello函數(shù)
setTimeout(printHello, 2000);

在命令行中執(zhí)行main.js文件,截圖如下:

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

clearTimeout(t)

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

參數(shù)t是通過setTimeout()函數(shù)創(chuàng)建的定時器

在main.js中創(chuàng)建如下代碼:

function printHello(){
    console.log('Hello World!');
}
//2秒后執(zhí)行printHello函數(shù)
var t = setTimeout(printHello, 2000);

//清除定時器
clearTimeout(t);

在命令行中執(zhí)行main.js文件,截圖如下:

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

setInterval(cb,ms)

setInterval(cb,ms)全局函數(shù)在指定的毫秒(ms)數(shù)后執(zhí)行指定函數(shù)(cb)

返回一個代表定時器的句柄值??梢允褂?clearInterval(t) 函數(shù)來清除定時器

setInterval() 方法會不停地調(diào)用函數(shù),直到 clearInterval() 被調(diào)用或窗口被關(guān)閉

在main.js中創(chuàng)建如下代碼:

function printHello(){
    console.log('Hello World!');
}
//2秒后執(zhí)行printHello函數(shù)
setInterval(printHello, 2000);

在命令行中執(zhí)行main.js文件,截圖如下:

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

console

console 用于提供控制臺標(biāo)準(zhǔn)輸出,它是由 Internet Explorer 的 JScript 引擎提供的調(diào)試工具,后來逐漸成為瀏覽器的事實(shí)標(biāo)準(zhǔn)。 Node.js 沿用了這個標(biāo)準(zhǔn),提供與習(xí)慣行為一致的 console 對象,用于向標(biāo)準(zhǔn)輸出流(stdout)或標(biāo)準(zhǔn)錯誤流(stderr)輸出字符。

以下為 console 對象的方法:

序號                              方法&描述
1

console.log([data][, ...])

向標(biāo)準(zhǔn)輸出流打印字符并以換行符結(jié)束。該方法接收若干個參數(shù),如果只有一個參數(shù),則輸出這個參數(shù)的字符串形式。如果有多個參數(shù),則 以類似于C 語言 printf() 命令的格式輸出。

2

console.info([data][, ...])

P該命令的作用是返回信息性消息,這個命令與console.log差別并不大,除了在chrome中只會輸出文字外,其余的會顯示一個藍(lán)色的驚嘆號。

3

console.error([data][, ...])

輸出錯誤消息的。控制臺在出現(xiàn)錯誤時會顯示是紅色的叉子。

4

console.warn([data][, ...])

輸出警告消息??刂婆_出現(xiàn)有×××的驚嘆號。

5

console.dir(obj[, options])

用來對一個對象進(jìn)行檢查(inspect),并以易于閱讀和打印的格式顯示。

6

console.time(label)

輸出時間,表示計時開始。

7

console.timeEnd(label)

結(jié)束時間,表示計時結(jié)束。

8

console.trace(message[, ...])

當(dāng)前執(zhí)行的代碼在堆棧中的調(diào)用路徑,這個測試函數(shù)運(yùn)行很有幫助,只要給想測試的函數(shù)里面加入 console.trace 就行了。

9

console.assert(value[, message][, ...])

用于判斷某個表達(dá)式或變量是否為真,接手兩個參數(shù),第一個參數(shù)是表達(dá)式,第二個參數(shù)是字符串。只有當(dāng)?shù)谝粋€參數(shù)為false,才會輸出第二個參數(shù),否則不會有任何結(jié)果。

console.log():向標(biāo)準(zhǔn)輸出流打印字符并以換行符結(jié)束。

console.log 接受若干個參數(shù),如果只有一個參數(shù),則輸出這個參數(shù)的字符串形式。如果有多個參數(shù),則 以類似于C 語言 printf() 命令的格式輸出。

第一個參數(shù)是一個字符串,如果沒有參數(shù),只打印一個換行。

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

console.error():與console.log() 用法相同,只是向標(biāo)準(zhǔn)錯誤流輸出

console.trace():向標(biāo)準(zhǔn)錯誤流輸出當(dāng)前的

創(chuàng)建一個main.js,代碼如下:

console.info('程序開始執(zhí)行:');

var counter =10;
console.log('計數(shù):%',counter);

console.time('獲取數(shù)據(jù)');

//
//  執(zhí)行一些代碼
//

console.timeEnd('獲取數(shù)據(jù)');

console.info('程序執(zhí)行完畢');

在命令行中執(zhí)行main.js文件,截圖如下:

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

process

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

它用于描述當(dāng)前Node.js 進(jìn)程狀態(tài)的對象,提供了一個與操作系統(tǒng)的簡單接口。通常在你寫本地命令行程序的時候,少不了要 和它打交道。

下面將會介紹 process 對象的一些最常用的成員方法。

序號                        事件&描述
1

exit

當(dāng)進(jìn)程準(zhǔn)備退出時觸發(fā)。

2

beforeExit

當(dāng) node 清空事件循環(huán),并且沒有其他安排時觸發(fā)這個事件。通常來說,當(dāng)沒有進(jìn)程安排時 node 退出,但是 'beforeExit' 的監(jiān)聽器可以異步調(diào)用,這樣 node 就會繼續(xù)執(zhí)行。

3

uncaughtException

當(dāng)一個異常冒泡回到事件循環(huán),觸發(fā)這個事件。如果給異常添加了監(jiān)視器,默認(rèn)的操作(打印堆棧跟蹤信息并退出)就不會發(fā)生。

4

Signal 事件

當(dāng)進(jìn)程接收到信號時就觸發(fā)。信號列表詳見標(biāo)準(zhǔn)的 POSIX 信號名,如 SIGINT、SIGUSR1 等。

創(chuàng)建一個main.js,代碼如下:

process.on('exit',function(code){
    //以下代碼永遠(yuǎn)不會執(zhí)行
    setTimeout(function(){
        console.log('該代碼不會執(zhí)行');
    },0);

    console.log('退出代碼為:',code);
});
console.log('程序執(zhí)行結(jié)束');

在命令行中執(zhí)行main.js文件,截圖如下:

nodejs學(xué)習(xí)筆記 -- 全局對象與全局變量

更多關(guān)于process的介紹,可參考菜鳥教程

http://www.runoob.com/nodejs/nodejs-global-object.html

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:nodejs學(xué)習(xí)筆記--全局對象與全局變量-創(chuàng)新互聯(lián)
鏈接分享:http://jinyejixie.com/article38/dcgdpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化響應(yīng)式網(wǎng)站、電子商務(wù)、網(wǎng)站改版微信小程序、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
孝昌县| 大冶市| 建德市| 上栗县| 安化县| 景德镇市| 旺苍县| 游戏| 云林县| 松溪县| 乌兰浩特市| 华容县| 湄潭县| 浦江县| 禄劝| 平昌县| 柳河县| 陵川县| 勐海县| 霸州市| 大悟县| 遂宁市| 甘肃省| 湖州市| 宜阳县| 韶关市| 花垣县| 峨眉山市| 邳州市| 辉县市| 沂南县| 阳信县| 马鞍山市| 沾化县| 兴和县| 平山县| 工布江达县| 时尚| 建水县| 清徐县| 商南县|