js 设计模式 ---订阅发布模式

    xiaoxiao2023-10-22  158

    function EventEmitter() { this.events = {}; } //绑定事件函数 EventEmitter.prototype.on = function(eventName, callback) { this.events[eventName] = this.events[eventName] || []; this.events[eventName].push(callback); }; //触发事件函数 EventEmitter.prototype.emit = function(eventName, _) { var events = this.events[eventName], args = Array.prototype.slice.call(arguments, 1), i, m; if (!events) { return; } for (i = 0, m = events.length; i < m; i++) { events[i].apply(null, args); } };

    on进行事件注册,emit事件触发。

    这种设计模式的优点:便于管理。缺点:代码比较隐晦,不清晰。

    最新回复(0)