返回信息流var Observer = {
subscribe: function(event, callback) {
var _callbacks = this._callbacks || (this._callbacks = {});
(this._callbacks[event] || (this._callbacks[event] = [])).push(callback);
return this;
},
publish: function() {
var args = Array.prototype.slice.call(arguments, 0);
var event = args.shift();
var list;
if (!(this._callbacks && (list = this._callbacks[event]))) return this;
for (var i = 0, len = list.length; i < len; i++) {
list[i].apply(this, args);
}
return this;
}
}
Observer.subscribe("sayhi", function () {
alert("Hello!");
}).subscribe("sayhi", function () {
alert("Smile");
}).publish("sayhi");
这是一条镜像帖。来源:北邮人论坛 / www-technology / #25486同步于 2014/5/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
Observer
wykm
2014/5/8镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
嗯哈。不过没用闭包把_callbacks封装起来。要用闭包的话,再做单例又嫌麻烦,所以就偷懒了
【 在 weiyitheonly 的大作中提到: 】
: 观察者模式的js实现?
: 发自「佳邮」