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)
	    }
	}
}
//js事件订阅
eventCenter.sub('a',function(){
     console.log(2);
});
eventCenter.sub('remote',function(){
     console.log('remote call');
});
eventCenter.sub('timeout',function(){
     setTimeout(function() {
	 eventCenter.pub('remote');
     }, 5000);
})
//js事件发布
eventCenter.pub('a');
eventCenter.pub('timeout');