SOURCE

console 命令行工具 X clear

                    
>
console
const shop = {
    value: 1000,
    dom: [
        document.getElementById('box'),
        document.getElementById('box1'),
        document.getElementById('box2'),
        document.getElementById('box3'),
        document.getElementById('box4'),
        document.getElementById('box5')
    ],
    list: {},
    listen: function (key, fn) {
        if (!this.list[key]) {
            this.list[key] = [];
        }
        this.list[key].push(fn);
    },
    target: function (key, ...args) {
        const fns = this.list[key];
        if (!fns || fns.length === 0) {
            return false;
        }
        for (let i = 0, fn; fn = fns[i++];) {
            fn.apply(this, args);
        }
    }
}

shop.listen('change', function (val) {
    for(let i = 0; i < this.dom.length ; i++ ){
        this.dom[i].innerHTML = this.value = val;
    }
})

shop.listen('click', function (val) {
    this.dom[1].innerHTML = this.value = val;
})

function a() {
    console.log('aaa')
    shop.target('click', 1000)
}


function change(){
    shop.target('change', input.value)
}

<input id='input' type="text" oninput="change()">
<button onclick="a()">click</button>
<div id="box"></div>
<div id="box1"></div>
<div id="box2"></div>
<div id="box3"></div>
<div id="box4"></div>
<div id="box5"></div>