js事件编程的发布/订阅模式(一对一关系)

来源:互联网 发布:郝斌c语言不压缩百度云 编辑:程序博客网 时间:2024/05/01 13:19

基于js事件编程的发布/订阅模式(一对一关系)

code

var PusbSub = {    subscribe: function(ev, callback) {        var calls = this._callbacks || (this._callbacks = {});        (this._callbacks[ev] || (this._callbacks[ev] = [])).push(callback);        return this;    },    publish: function() {        var args = Array.prototype.slice.call(arguments, 0);        var ev = args.shift();        var list, calls, i, l;        if (!(calls = this._callbacks)) {            return this;        }        if (!(list = this._callbacks[ev])) {            return this;        }        for (i = 0, l = list.length; i < l; i++) {            list[i].apply(this, args);        }        return this;    }}PusbSub.subscribe("wem", function() {    alert("wem");});PusbSub.publish("wem");

测试

这里写图片描述

0 0
原创粉丝点击