首页 > 编程语言 > 详细

JavaScript Observer Pattern

时间:2016-04-28 00:32:29      阅读:204      评论:0      收藏:0      [点我收藏+]
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/

JavaScript Observer Pattern

原文:http://www.cnblogs.com/wsion/p/5440887.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!