简单了解一下:Node全局对象和事件监听和触发
  VJpXGY9Pywpe 2023年11月02日 51 0


Node的全局对象,就是整个应用都能引用的对象。Node本身内置了多个全局变量、全局对象和全局函数。

简单了解一下:Node全局对象和事件监听和触发_全局函数

全局变量有两个:__filename和__dirname,

__filename:表示当前正在执行的脚本文件名;

__dirname:当前脚本所在的目录;

全局对象

常见的全局对象,有console,process和exports。

console:console对象用于提供控制台标准输出;

process:对象用于描述当前进程的状态;这个对象只存在于NodeJS中,它有这样几个属性:

简单了解一下:Node全局对象和事件监听和触发_node.js_02


常用的方法如下:

简单了解一下:Node全局对象和事件监听和触发_node.js_03

exports:exports对象是Nodejs模块系统公开的接口。

全局函数

NodeJS提供了6个全局函数:

简单了解一下:Node全局对象和事件监听和触发_全局对象_04


前面的4个函数,使我们常用的定时器函数。setImmediate(callback[,…args])和clearImmediate(immediate)两个函数,是在I/O事件回调之后立即执行的。

事件触发和监听

NodeJS是由事件驱动的,每一个任务都可以看做是一个事件来处理,事件监听和触发,整体架构如下图所示:

简单了解一下:Node全局对象和事件监听和触发_node.js_05


NodeJS的事件驱动是通过events模块来完成,events模块提供了EventEmitter类,用来处理事件,例如:

EventEmitter = require('events')
eventEmitter = new EventEmitter()

EventEmitter类有这些属性:

简单了解一下:Node全局对象和事件监听和触发_全局对象_06


简单了解一下:Node全局对象和事件监听和触发_全局对象_07

事件监听和触发

事件的监听,通过调用on方法;事件触发,则是通过调用emit方法,代码如下:

const event = require("events");
const commit = new event.EventEmitter()

commit.on("cccc", () => {
    console.log("执行了指定事件")
});

commit.emit('cccc')

简单了解一下:Node全局对象和事件监听和触发_事件触发_08

需要注意的是,在on方法中定义的事件名称,需要触发哪个事件,就在emit方法中传入对应的事件名称。

如果监听的事件,不需要了,就可以直接删除掉,用到以下这两个方法:

  1. removeListener(eventName,listener):删除指定名称的监听事件;
  2. removeListener(eventName,listener):删除指定名称的监听事件;


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
VJpXGY9Pywpe