SOURCE

console 命令行工具 X clear

                    
>
console
let obj = {}
let input = document.getElementById('input')
let span = document.getElementById('span')
// 数据劫持
Object.defineProperty(obj, 'text', {
    configurable: true,
    enumerable: true,
    get() {
        console.log('获取数据了')
        //return obj['text'] // 这样会死循环
        return obj._text;
    },
    set(newVal) {
        console.log('数据更新了')
        input.value = newVal
        span.innerHTML = newVal
        this._text = newVal; // 用来给get调用,防止死循环
    }
})
// 输入监听
input.addEventListener('keyup', function(e) {
    obj.text = e.target.value
});
console.log(obj.text);
    <input id="input">
    <span id="span"></span>