// 事件核心 事件派发 闭包const EventBus = () => { let all = {} // 利用闭包的个性,实现all的状态治理 return { all, // 事件BUS /* * description 监听事件 * params type 事件名 * params handler 回调函数 * */ on: (type, handler) => { all[type] = handler }, /* * description 勾销监听某事件 * params type 事件名 * */ off: (type) => { delete all[type] }, /* * description 事件派发 * params type 事件名 * params event 派发的参数 * */ emit: (type, event) => { let handlers = all[type] if (handlers) { handlers(event) } } }}// uselet eventCenter = EventBus()eventCenter.on('getName', (e) => { console.log('e', e)})eventCenter.on('getSex', (e) => { console.log('e', e)})eventCenter.emit('getName', {detail: '哈哈哈哈哈'})eventCenter.off('getName')eventCenter.emit('getName', {detail: '哈哈哈哈哈灌灌灌灌灌'})eventCenter.emit('getSex', {detail: 'male'})eventCenter.emit('getSex', {detail: 'female'})eventCenter.off('getSex')eventCenter.emit('getSex', {detail: 'unknow'})eventCenter = nulleventCenter = EventBus()eventCenter.on('getAge', (e) => { console.log('e', e)})eventCenter.emit('getAge', {detail: '12'})eventCenter = null