const OB = (function() {
let messages = {}
return {
// 注册消息
register: function(type,fn) {
if(messages[type]) {
messages[type].push(fn)
} else {
messages[type] = [fn]
}
},
// 移除注册消息
remove: function(type,fn) {
if(!messages[type]) return
messages[type].forEach((fnx,ix) => {
fnx === fn && messages[type].splice(ix,1)
})
},
// 发布消息
fire: function(type, data) {
if(!messages[type]) return
messages[type].forEach(fn => {
fn(data)
})
},
}
})()
OB.register('login',function(data) {
console.log(data)
})
// var a = function() {}
// var b = function() {}
// var c = a
// console.log(a === b)
// console.log(a === c)