3)Javascript设计模式:Observer模式
2015-12-26 18:38
555 查看
Observer模式
var Observer = (function() { var instance = null; function Observe() { this.events = {} } Observe.prototype.subscribe = function(eventName, callback) { var actions = this.events[eventName]; if( !actions) { actions = this.events[eventName] = []; } actions.push(callback); }; Observe.prototype.publish = function(eventName) { var args = Array.prototype.slice.call(arguments).slice(1); var actions = this.events[eventName]; if(actions) { for(var cb in actions) { actions[cb].apply(null, args) } } else { console.log(eventName || '' + ' is not registered'); } }; function returnFunction() { if(!instance) { instance = new Observe(); } return instance; } returnFunction.toString = function() { console.log('Use Observer() to get instance'); }; return returnFunction; })();
相关文章推荐
- Sublime Text3安装js插件
- EL表达式与JSTL(C)标签
- JSP专题
- JSP标准标签库
- 2)Javascript设计模式:Singleton模式
- Javascript构造函数
- 1)Javascript设计模式:Module模式
- JavaScript
- JSON数据转换方法 parse()和stringify()
- JS面向对象的程序设计
- 使用iframe标签,子窗体与父窗体之间相互调用js函数
- jsp编译错误:code too large for try statement
- javascript生成二维码
- Eclipse剪切/复制js代码时卡死的解决办法
- JavaScript知识点回顾
- JavaScript—内置对象
- 自定义类 无极限树形结构菜单(繁杂版)
- 关于jsp中form表单提交
- JSP页面中文乱码
- js 判断密码非连续数字