久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 和你講一講NodeJS中的Events(事件觸發(fā)器)

和你講一講NodeJS中的Events(事件觸發(fā)器)

來源:千鋒教育
發(fā)布人:小千
時(shí)間: 2020-12-28 09:22:00 1609118520

在 Node.js 中,Event是非常核心的模塊,大部分的核心模塊基本上都有用到或者繼承了該模塊。Event模塊和我們之前在Javascript中學(xué)習(xí)的EventTarget接口很類似。對(duì)于該模塊我們能做的不僅僅是簡單的使用還可以在該模塊的基礎(chǔ)上做出擴(kuò)展,你想想JS中的onclick、onmousemove。

4

不羅嗦,直接上代碼!

因?yàn)槭录K屬于比較抽象的東西,所以不太適合用大篇幅的語言來描述它,所以我決定直接上代碼,先實(shí)現(xiàn)功能看效果再說。下面就一起來體驗(yàn)下這個(gè)模塊的功能吧。

對(duì)自定義類進(jìn)行擴(kuò)展

在前端我們可以對(duì)一個(gè)元素進(jìn)行事件的監(jiān)聽,例如

1

這種做法實(shí)際上就是在對(duì)待頁面中的DOM對(duì)象添加事件監(jiān)聽,在Node.js中是無法直接為一個(gè)對(duì)象添加事件監(jiān)聽的,因?yàn)槲覀冏远x的類或者對(duì)象都是沒有實(shí)現(xiàn)或繼承 Events 模塊的。

想要使用 Events 模塊就需要先導(dǎo)入該模塊。

2

接下來就是具體代碼的實(shí)現(xiàn)

3

以上的代碼就是為了擴(kuò)展咱們自定義類的。

在以上代碼中我們使用了event模塊中的兩個(gè)方法:on(),emit()。 這兩個(gè)方法分別是為了 注冊(cè)事件 與 觸發(fā)事件 的。

  • 在event模塊中比較有用的方法遠(yuǎn)遠(yuǎn)不止這兩個(gè),下面列出幾個(gè)較為常用的方法。
  • on():注冊(cè)事件,添加被監(jiān)聽的事件名稱到監(jiān)聽器數(shù)組的末尾。
  • addListener():同上。
  • off():移除事件,從監(jiān)聽器數(shù)組移除被監(jiān)聽的事件名稱。
  • removeListener():同上。
  • eventNames():返回已注冊(cè)監(jiān)聽器的事件名數(shù)組。 數(shù)組中的值為字符串或 Symbol。

Tips:

因?yàn)槭录母拍钶^為抽象,所以我們大部開發(fā)者并不是很喜歡使用Events模塊實(shí)現(xiàn)監(jiān)聽,更多的時(shí)候我們可能更加喜歡以回調(diào)函數(shù)的方式的完成對(duì)某個(gè)函數(shù)或者方法的監(jiān)聽。

所以我們對(duì) Events 模塊的學(xué)習(xí)其實(shí)并不僅僅是為了將來能在開發(fā)中為自定義類添加事件,更多的其實(shí)為了對(duì) Node.js 的知識(shí)點(diǎn)整體架構(gòu)有一定的了解,了解知識(shí)點(diǎn)的來龍去脈。

學(xué)習(xí)了 Events 之后我們也就可以明白為什么之后學(xué)習(xí)的很多的核心模塊為什么都會(huì)有 on() 和 off() 方法,因?yàn)樗鼈兌际抢^承了 Events 模塊的。

最后大家可以添加我們的前端技術(shù)交流qq群,找群管理要更多前端學(xué)習(xí)資料和教程視頻,前端技術(shù)交流群:791201477  等你來哦~~~

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
有哪款比較好用的免費(fèi)的缺陷管理工具?

一、BugzillaBugzilla是一款廣泛使用的免費(fèi)缺陷管理工具,具備完善的缺陷管理功能,并支持多用戶協(xié)同工作。Bugzilla提供了強(qiáng)大的搜索和過濾功能...詳情>>

2023-10-14 04:40:43
USB Type C電纜正反插都可以?

USB Type C電纜正反插都可以USB Type C電纜是一種通用連接標(biāo)準(zhǔn),其最顯著的特點(diǎn)是具備正反插功能。不論插頭的方向如何,用戶都可以輕松插入U(xiǎn)SB ...詳情>>

2023-10-14 04:31:18
為什么sql語句不支持關(guān)系代數(shù)中的除法?

為什么SQL語句不支持關(guān)系代數(shù)中的除法1. SQL和關(guān)系代數(shù)的關(guān)系:SQL是一種基于關(guān)系代數(shù)的查詢語言,它的設(shè)計(jì)初衷是為了能夠以一種更接近自然語言...詳情>>

2023-10-14 04:07:35
sql 怎么根據(jù)父id查詢下三級(jí)子集?

一、概述處理樹形數(shù)據(jù)時(shí),我們常常需要根據(jù)父ID查詢其下的子集。本文將引導(dǎo)您如何使用SQL進(jìn)行這一操作,尤其是查詢下三級(jí)子集。二、查詢方法詳...詳情>>

2023-10-14 03:59:07
什么是分治算法,和遞歸有什么關(guān)系?

分治算法是什么分治算法是一種算法設(shè)計(jì)思想,其主要思想是將一個(gè)復(fù)雜的問題分解為兩個(gè)或更多相同或相似的子問題,直到子問題簡單到可以直接解決...詳情>>

2023-10-14 03:22:51
快速通道