监测对象的值在哪里被调用
var lastTimeValue=IPLATUI.EFGrid;
Object.defineProperty(IPLATUI, 'EFGrid', {
get: function() {
console.log('get:' + EFGrid);
return EFGrid;
},
set: function(value) {
EFGrid = value;
if(lastTimeValue!=EFGrid){
lastTimeValue=EFGrid;
console.log('value changed!! set: ' + EFGrid);
}
}
});
IPLATUI.EFGrid = lastTimeValue;
Object.defineProperty方法直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象
•
value: 设置属性的值 Object
•
writable: 值是否可以重写。true | false
•
enumerable: 目标属性是否可以被遍历。true | false
•
configurable: 目标属性是否可以被删除或是否可以再次修改特性 true | false
•
set: 目标属性设置值的方法 ,function, 未设置为 undefined
•
get:目标属性获取值的方法,function, 未设置为 undefined
评论区