JavaScript Observer Pattern
2016-04-27 23:16
507 查看
var Users = { list: [], listeners: {}, add: function(name) { this.list.push({name: name}); this.dispatch("user-added"); }, on: function(eventName, listener) { if(!this.listeners[eventName]) this.listeners[eventName] = []; this.listeners[eventName].push(listener); }, dispatch: function(eventName) { if(this.listeners[eventName]) { for(var i=0; i<this.listeners[eventName].length; i++) { this.listeners[eventName][i](this); } } }, numOfAddedUsers: function() { return this.list.length; } } Users.on("user-added", function(obj) { alert(Users.numOfAddedUsers()); console.log("obj:",obj); }); Users.add("Krasimir"); Users.add("Tsonev");
Referring to http://jsfiddle.net/krasimir/sHNKD/3/
相关文章推荐
- 通过js看类似C#中的回掉
- POJO与JSON的序列化与反序列化
- 通过js看类似C#中的回掉
- 字符串与json之间的相互转化
- flash和js通过什么类如何交互?
- jstree的基本使用例子
- json小计
- Javascript 将json字符串解析成js 对象的四种方法
- js map
- javascript实现jsonp跨域访问
- js中运算符&& 和 || 的使用记录
- javascript json prase get key by index get value by index
- JavaScript API 设计原则
- 将JavaScript 插入网页的方法
- JSP注释 声明 输出表达式 脚本
- JavaScript与HTML_DOM
- JSON.parse()和JSON.stringify()
- JavaScript语法
- JavaScript学习汇总
- (转载)Javascript 严格模式详解