最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文詳解node.js有哪些全局對象呢

 更新時間:2022年09月25日 08:47:16   作者:別救了這猴子廢了???????  
這篇文章主要介紹了一文詳解node.js有哪些全局對象呢,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下

一、是什么

在瀏覽器 JavaScript 中,通常window 是全局對象, 而 Nodejs中的全局對象是 global

NodeJS里,是不可能在最外層定義一個變量,因?yàn)樗械挠脩舸a都是當(dāng)前模塊的,只在當(dāng)前模塊里可用,但可以通過exports對象的使用將其傳遞給模塊外部

所以,在NodeJS中,用var聲明的變量并不屬于全局的變量,只在當(dāng)前模塊生效

像上述的global全局對象則在全局作用域中,任何全局變量、函數(shù)、對象都是該對象的一個屬性值

二、有哪些

將全局對象分成兩類:

  • 真正的全局對象
  • 模塊級別的全局變量

真正的全局對象

下面給出一些常見的全局對象:

  • Class:Buffer
  • process
  • console
  • clearInterval、setInterval
  • clearTimeout、setTimeout
  • global

Class:Buffer

可以處理二進(jìn)制以及非Unicode編碼的數(shù)據(jù)

Buffer類實(shí)例化中存儲了原始數(shù)據(jù)。Buffer類似于一個整數(shù)數(shù)組,在V8堆原始存儲空間給它分配了內(nèi)存

一旦創(chuàng)建了Buffer實(shí)例,則無法改變大小

process

進(jìn)程對象,提供有關(guān)當(dāng)前進(jìn)程的信息和控制

包括在執(zhí)行node程序進(jìn)程時,如果需要傳遞參數(shù),我們想要獲取這個參數(shù)需要在process內(nèi)置對象中

啟動進(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)等

console

用來打印stdoutstderr

最常用的輸入內(nèi)容的方式:console.log

console.log("hello");

清空控制臺:console.clear

console.clear

打印函數(shù)的調(diào)用棧:console.trace

function test() {
    demo();
}
function demo() {
    foo();
}
function foo() {
    console.trace();
}
test();

clearInterval、setInterval

設(shè)置定時器與清除定時器

setInterval(callback, delay[, ...args])

callbackdelay毫秒重復(fù)執(zhí)行一次

clearInterval則為對應(yīng)發(fā)取消定時器的方法

clearTimeout、setTimeout

設(shè)置延時器與清除延時器

setTimeout(callback,delay[,...args])

callbackdelay毫秒后執(zhí)行一次

clearTimeout則為對應(yīng)取消延時器的方法

global

全局命名空間對象,墻面講到的process、consolesetTimeout等都有放到global

console.log(process === global.process) // true

模塊級別的全局對象

這些全局對象是模塊中的變量,只是每個模塊都有,看起來就像全局變量,像在命令交互中是不可以使用,包括:

  • __dirname
  • __filename
  • exports
  • module
  • require

__dirname

獲取當(dāng)前文件所在的路徑,不包括后面的文件名

從 /Users/mjr 運(yùn)行 node example.js

console.log(__dirname);
// 打印: /Users/mjr

__filename

獲取當(dāng)前文件所在的路徑和文件名稱,包括后面的文件名稱

從 /Users/mjr 運(yùn)行 node example.js

console.log(__filename);
// 打印: /Users/mjr/example.js

exports

module.exports 用于指定一個模塊所導(dǎo)出的內(nèi)容,即可以通過 require() 訪問的內(nèi)容

exports.name = name;
exports.age = age;
exports.sayHello = sayHello;

module

對當(dāng)前模塊的引用,通過module.exports 用于指定一個模塊所導(dǎo)出的內(nèi)容,即可以通過 require() 訪問的內(nèi)容

require

用于引入模塊、 JSON、或本地文件。 可以從 node_modules 引入模塊。

可以使用相對路徑引入本地模塊或JSON文件,路徑會根據(jù)__dirname定義的目錄名或當(dāng)前工作目錄進(jìn)行處理

到此這篇關(guān)于一文詳解node.js有哪些全局對象呢的文章就介紹到這了,更多相關(guān)node.js全局對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows上node.js的多版本管理工具用法實(shí)例分析

    Windows上node.js的多版本管理工具用法實(shí)例分析

    這篇文章主要介紹了Windows上node.js的多版本管理工具用法,結(jié)合實(shí)例形式分析了Windows平臺上node.js多版本管理工具nvm-windows的相關(guān)使用技巧,需要的朋友可以參考下
    2019-11-11
  • node.js中的querystring.stringify方法使用說明

    node.js中的querystring.stringify方法使用說明

    這篇文章主要介紹了node.js中的querystring.stringify方法使用說明,本文介紹了querystring.stringify的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 前端常見面試題之a(chǎn)sync/await和promise的區(qū)別

    前端常見面試題之a(chǎn)sync/await和promise的區(qū)別

    async/await是異步代碼的新方式,以前的方法有回調(diào)函數(shù)和Promise,下面這篇文章主要給大家介紹了關(guān)于前端常見面試題之a(chǎn)sync/await和promise區(qū)別的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Node.js中環(huán)境變量process.env的一些事詳解

    Node.js中環(huán)境變量process.env的一些事詳解

    這篇文章主要給大家介紹了關(guān)于Node.js中環(huán)境變量process.env的一些事,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • 在Mac OS下使用Node.js的簡單教程

    在Mac OS下使用Node.js的簡單教程

    這篇文章主要介紹了在Mac OS下使用Node.js的簡單教程,Node.js是讓JavaScript應(yīng)用運(yùn)行于服務(wù)器端的框架,需要的朋友可以參考下
    2015-06-06
  • Node.js有效處理并發(fā)連接的過程

    Node.js有效處理并發(fā)連接的過程

    在現(xiàn)代 web 開發(fā)中,處理并發(fā)連接是一個對于構(gòu)建高性能服務(wù)器至關(guān)重要的話題,Node.js 是一個使用 JavaScript 作為編程語言的服務(wù)器端環(huán)境,在這篇博客中,我們將深入探討 Node.js 如何有效地管理并發(fā)連接,并提供一些示例代碼以便于更好地理解這個過程
    2024-10-10
  • Node.js與MySQL交互操作及其注意事項(xiàng)

    Node.js與MySQL交互操作及其注意事項(xiàng)

    這篇文章給大家主要介紹了Node.js與MySQL交互操作及其注意事項(xiàng),非常的詳細(xì),有相同需求的小伙伴可以參考下
    2016-10-10
  • Node中的streams流的具體使用

    Node中的streams流的具體使用

    本文主要介紹了Node中的streams流的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 詳解如何用typescript開發(fā)koa2的二三事

    詳解如何用typescript開發(fā)koa2的二三事

    這篇文章主要介紹了詳解如何用typescript開發(fā)koa2的二三事,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 詳解electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng)

    詳解electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng)

    這篇文章主要為大家詳細(xì)介紹了electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng),文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12

最新評論

大石桥市| 康平县| 九龙城区| 门头沟区| 左权县| 拜城县| 吉林省| 武夷山市| 寻甸| 普宁市| 津南区| 柳河县| 延寿县| 丰城市| 红桥区| 都江堰市| 保定市| 浪卡子县| 尼勒克县| 台东县| 平山县| 桃园市| 吴堡县| 延边| 延安市| 米易县| 元氏县| 自贡市| 敦化市| 阳西县| 台北市| 满洲里市| 曲松县| 大连市| 涪陵区| 定南县| 乌恰县| 呼伦贝尔市| 安乡县| 隆尧县| 昌乐县|