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