/** * {注入的js} * @author yutent * @date 2023/07/21 17:38:11 */ Object.assign(window, { // __events__: Object.create(null), $on(name, fn) { if (this.__events__[name]) { this.__events__[name].push(fn) } else { this.__events__[name] = [fn] } }, $once(name, fn) { fn.__once__ = true this.$on(name, fn) }, $off(name, fn) { if (this.__events__[name]) { if (fn) { this.__events__[name] = this.__events__[name].filter(it => it !== fn) } else { this.__events__[name] = [] } } }, $emit(name, ...args) { if (this.__events__[name]) { for (let fn of this.__events__[name]) { try { fn.apply(this, args) if (fn.__once__) { this.$off(name, fn) } } catch (e) { console.error(e) } } } }, $destroy() { this.__events__ = Object.create(null) } })