这几天一直在想如何监控json数据的修改,尝试了很多方法,都不理想。
因为我要做的监控,是动态的,字段是未知的,甚至是实时添加的。
今天终于看到ES6版本中引入了proxy这个概念,让我看到一线曙光。
于是迅速的写了个简单的测试代码:
let tt = new Proxy({}, {
get: function (obj, prop, value) {
alert(obj[prop]);
return obj[prop];
},
set: function (obj, prop, value) {
if (obj[prop] != value) {
alert(prop + '|' + value);
obj[prop] = value;
}
return true;
}
});
tt.abc = 100;
console.log(tt.abc);
竟然就这样搞定了。。。。
大爱js,越来越爱js了