JS代码如下: @H_403_1@
/**
* Rudolph javascript 监听简单对象属性的变化
* 简单对象的属性的变化监控
* 通过setAttr改变属性的值
* @param
* @arrange (512.笔记) jb51.cc
**/
var o = {
'a':2, 'b':3
};
function watch(obj,attr,callback){
if(typeof obj.defaultValues == 'undefined'){
obj.defaultValues = {};
for(var p in obj){
if(typeof obj[p] !== 'object')
obj.defaultValues[p] = obj[p];
}
}
if(typeof obj.setAttr == 'undefined'){
obj.setAttr = function(attr,value){
if(this[attr] != value){
this.defaultValues[attr] = this[attr];
this[attr] = value;
return callback(this);
}
return this;
};
}
}
watch(o,'a',function(obj){
console.log(obj);
});
o.setAttr('a',4);
// 来自:编程之家 jb51.cc(jb51.cc)