js事件訂閱、發佈

    var eventCenter={
        sub:function(mesName,mesCallback){
            this.argus=this.argus||{};
            this.argus[mesName]=this.argus[mesName]||[];
            this.argus[mesName].push(mesCallback)
        },
        pub:function(){
            var args=Array.prototype.slice.call(arguments,0);
            var mesName=args.shift();
            if(!this.argus || !this.argus[mesName]){
                return this;
            }
            for(var i=0;i<this.argus[mesName].length;i++){
                this.argus[mesName][i].apply(this,args)
            }
        }
    }

    eventCenter.sub('a',function(){
        console.log(2)
    })

    eventCenter.pub('a')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章