js观察者模式简单实现
来源:互联网 发布:能写小说的软件 编辑:程序博客网 时间:2024/05/17 19:14
js观察者模式简单实现
直接上代码
function PubSub(){ this.handlers = {}; //{'aaa':[cb1,cb2],'abc':[cb1,cb2]} }PubSub.prototype = { //on 相当于订阅者在发布者那里存了一个宝箱(回调函数cb),宝箱的钥匙是eventType on : function(eventType,cb){ var self = this; if(!(eventType in self.handlers)){ self.handlers[eventType] = []; } self.handlers[eventType].push(cb); return self; }, //emit 发布者拿出钥匙(eventType),找出与其对应的宝箱(cb),打开它(执行回调cb)。 emit : function(eventType){ var self = this; var argsArr = Array.prototype.slice.call(arguments,1); for(var i = 0;i<self.handlers[eventType].length;i++){ self.handlers[eventType][i].apply(self,argsArr); } return self; }, //拿走与这把钥匙所对应的宝箱(cb) removeLisener : function(eventType){ var self = this; if(eventType in self.handlers){ delete self.handlers[eventType]; } } } //简单使用方式 var pub = new PubSub(); pub.on('abc',function(a,b,c){ console.log(a,b,c); //33,44,66 }); pub.on('aaa',function(a,b,c){ console.log(a+1,b+1,c+1); //34,45,67 }); pub.emit('abc',33,44,66); pub.emit('aaa',33,44,66);
0 0
- js观察者模式简单实现
- JS实现观察者模式
- js实现观察者模式
- js实现观察者模式
- 观察者模式简单实现
- 观察者模式的简单实现
- 观察者模式实现简单聊天
- C++ 实现简单观察者模式
- 简单实现的观察者模式
- Android观察者模式简单实现
- 用js写的简单观察者模式
- 事件机制 -- 典型观察者模式 js实现
- js实现观察者模式风格替换
- 观察者模式(简单的实现)
- 一个简单观察者模式的实现 cocos2dx
- 观察者模式java的简单实现
- KVO 观察者模式及简单实现
- 最简单的观察者模式实现
- OpenCV 剪切矩形区域
- eclipse断点调试
- java 实体类转成json字符串
- 恩布企业IM PC端,私有云服务端发布 1.19 版本
- MySQL索引原理及慢查询优化
- js观察者模式简单实现
- Android-通知Notification全解析
- Android开源项目分包方式学习(eoe、oschina、github)
- spring的线程流程
- ActionBar
- 详解Linux中文件的特殊权限:SGID、SUID、SBIT
- Repository模式
- NXP NFC芯片选型指南
- 无限循环treeview