SOURCE

var data = {
    name:'lhl'
}

Object.keys(data).forEach(function(key){
    Object.defineProperty(data,key,{
        enumerable:true,
        configurable:true,
        get:function(){
            alert('get');
        },
        set:function(){
            alert('监听到数据发生了变化');
        }
    })
});
data.name //控制台会打印出 “get”
// data.name = 'hxx' //控制台会打印出 "监听到数据发生了变化"
console 命令行工具 X clear

                    
>
console