亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

自己簡(jiǎn)單寫(xiě)的 事件訂閱機(jī)制

luck / 1385人閱讀

我寫(xiě)的 簡(jiǎn)易的事件訂觸發(fā)。

    export  const Event = function () {
       // 類(lèi)型
       this.typeList = {}
    }
    Event.prototype.on = function ({type, fn}){
        if (this.typeList.hasOwnProperty(type)) {
            this.typeList[type].push(fn)
        } else {
            this.typeList[type] = []
            this.typeList[type].push(fn)
        }
    }
    Event.prototype.off = function({type, fn})  {
       if (this.typeList.hasOwnProperty(type)) {
             let list = this.typeList[type]
          let index = list.indexOf(fn)
          if (index !== -1 ) {
                 list.splice(index, 1)
          }
          
       } else {
            console.warn("not has this type")
       }
    }
    Event.prototype.once = function ({type, fn}) {
       const fixFn = (value) => {
            fn.call(this, value)
            this.off({type, fn: fixFn})
       }
       this.on({type, fn: fixFn})
    }
    Event.prototype.trigger = function (type, value, context){
        context = context ? context : null    
        if (this.typeList.hasOwnProperty(type)) {
            this.typeList[type].forEach(fn => {
                fn.call(context, value)
            })
        }
    }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93087.html

相關(guān)文章

  • Node 之 Event 模塊

    摘要:為什么把叫做集合而不能稱(chēng)為嚴(yán)格意義上的對(duì)象,來(lái)看這個(gè)集合的構(gòu)造函數(shù)可以見(jiàn)得,是與處于同一層級(jí)的而非是繼承自,所以說(shuō)由實(shí)例出來(lái)的對(duì)象更加的純凈,并沒(méi)有諸如等方法,更像是一個(gè)集合。 寫(xiě)在前面 事件的編程方式具有輕量級(jí)、松耦合、只關(guān)注事務(wù)點(diǎn)等優(yōu)勢(shì),在瀏覽器端,有著自己的一套DOM事件機(jī)制,其中含包括這諸如事件冒泡,事件捕獲等;然而Node的事件機(jī)制沒(méi)有事件冒泡等,其原理就是設(shè)計(jì)模式中的觀察者...

    mrli2016 評(píng)論0 收藏0
  • JavaScript 工作原理之九-網(wǎng)頁(yè)消息推送通知機(jī)制

    摘要:推送通知這一功能在移動(dòng)端已經(jīng)非常普遍。消息推送和通知消息推送和通知是兩個(gè)不同的接口。消息通知網(wǎng)絡(luò)應(yīng)用中的服務(wù)工作線程或者腳本進(jìn)行操作向用戶顯示消息通知。是消息推送服務(wù)之一。可以從對(duì)象的屬性值獲得處理消息推送的請(qǐng)求地址。 原文請(qǐng)查閱這里,略有刪減,本文采用知識(shí)共享署名 4.0 國(guó)際許可協(xié)議共享,BY Troland。 本系列持續(xù)更新中,Github 地址請(qǐng)查閱這里。 這是 JavaScr...

    joyqi 評(píng)論0 收藏0
  • Redux入門(mén)0x101: 簡(jiǎn)介及`redux`簡(jiǎn)單實(shí)現(xiàn)

    摘要:在我看來(lái)它們的關(guān)系不會(huì)比共用開(kāi)頭更深了,所以我就重新開(kāi)了一個(gè)頭,但其實(shí)是基于前面寫(xiě)的資源中文文檔英文文檔官方視頻學(xué)習(xí)歷程當(dāng)初為了學(xué)習(xí),看了許多的材料,中途曾經(jīng)放棄兩次,但是最后還是勇敢的拿起了它,現(xiàn)在終于勉強(qiáng)弄懂。 0x000 概述 這一章開(kāi)始講redux,其實(shí)是承接前面的react,但其實(shí)作為一個(gè)框架來(lái)說(shuō),redux和react并沒(méi)有太多的關(guān)系,本身是獨(dú)立存在的。在我看來(lái)它們的關(guān)系不...

    ssshooter 評(píng)論0 收藏0
  • 微服務(wù)框架lagom

    摘要:在這種情況下,每一個(gè)微服務(wù)定義一個(gè)限界上下文,類(lèi)似于領(lǐng)域驅(qū)動(dòng)的限界上下文。設(shè)計(jì)你的微服務(wù)系統(tǒng)的響應(yīng)式微服務(wù)架構(gòu)這本書(shū)對(duì)于微服務(wù)系統(tǒng)架構(gòu)很有幫助。 1.Lagom概念介紹 lagom框架包含一系列的可以支持我們從開(kāi)發(fā)到部署的庫(kù)以及開(kāi)發(fā)環(huán)境: >在開(kāi)發(fā)階段,可以通過(guò)一個(gè)簡(jiǎn)單的命令構(gòu)建我們的項(xiàng)目,啟動(dòng)所有你的服務(wù),并且可以支持所有的lagom基礎(chǔ)設(shè)置層。當(dāng)你修改了代碼,logom是有熱加載的...

    Michael_Lin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<