2 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
_每個(gè)你附加事件的對(duì)象來(lái)存儲(chǔ)它們自己的事件(獨(dú)立于其他對(duì)象)
_每個(gè)事件名稱都有自己的(有序)函數(shù)數(shù)組(獨(dú)立于同一對(duì)象中的其他事件)
細(xì)節(jié):
您在有關(guān)事件的節(jié)點(diǎn)文檔的這一部分中有一個(gè)很好的例子來(lái)說(shuō)明它的結(jié)構(gòu)和存儲(chǔ)方式
const myEmitter = new MyEmitter();
myEmitter.on('myEvent', function(a, b) {
console.log(a, b, this, this === myEmitter);
// Prints:
// a b MyEmitter {
// domain: null,
// _events: { myEvent: [Function] },
// _eventsCount: 1,
// _maxListeners: undefined } true
});
myEmitter.emit('myEvent', 'a', 'b');
您可以看到,當(dāng)this(事件附加到的對(duì)象)被記錄時(shí),事件處理程序存儲(chǔ)在對(duì)象本身內(nèi)部(在屬性中_events)。它是對(duì)象的形式,其中所有事件名稱都是鍵,值是附加到事件的所有函數(shù)的數(shù)組。它在這里是一個(gè)數(shù)組這一事實(shí)很重要,因?yàn)楹瘮?shù)將按照它們被添加的順序被同步調(diào)用。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
發(fā)射器(在這種情況下是服務(wù)器)跟蹤所有附加的事件偵聽(tīng)器,沒(méi)有全局事件偵聽(tīng)器數(shù)組。
添加回答
舉報(bào)