一个订阅发布者模式
2016-06-15 14:28
204 查看
常见的订阅发布者模式的编写
(function(window) { function Subscribe() { this.events = {}; }; Subscribe.prototype.subscribe = function(eventName, fn) { (!this.events[eventName]) && (this.events[eventName] = []); this.events[eventName].push(fn); return this; }; Subscribe.prototype.unsubscribe = function(eventName, fn) { var events = this.events; if (eventName in events) { delete events[eventName]; } return this; }; Subscribe.prototype.publish = function(eventName) { var args = [].slice.call(arguments, 1), events = this.events; if (eventName in events) { for (var i = 0, len = events[eventName].length; i < len; i++) { events[eventName][i].apply(this, args); } } return this; }; window.Subscribe = new Subscribe(); })(window);
相关文章推荐
- 阅读开源引擎源代码的方式学习游戏引擎好吗?
- Google File System阅读笔记
- Mongo服务器集群配置——主从复制
- 待做
- redis+php实现微博功能(三)
- Google Android开发者文档系列-开发企业App
- 抓包工具fiddler的使用
- 【shell】read
- puppet2D 基础教程
- 哇!原来这样的文案,才能在朋友圈流传!
- 有容云:梁胜-如何让Docker容器在企业中投产(上)
- 使用Gridview控件的链接实现页面跳转并且传值
- HttpUtils请求 和XlistView 实现下拉刷新和上拉加载
- Android-Tab单选控件
- 微信分享自定义内容实现
- sybase load 时报 sortorder id不一致问题的解决办法
- HTML5学习之路(2)
- 虚拟机去混杂模式与 vlan in vxlan 特性
- ffmpeg 打开视频流太慢(上)
- 深入理解Linux内核 chap 6 定时测量