javascript - observer 范例

来源:互联网 发布:python三维图 编辑:程序博客网 时间:2024/06/05 04:16
function observable (value, condition, callback){
   
this.value = value;
   
this.condition = condition;
   
this.callback = callback;
}

observable
.prototype = {
   
get value () {
       
return this._value;
   
},
   
set value (value) {
       
this._value = value;
       
if (this.condition && this.callback && this.condition (value)) {
           
this.callback (value);
       
}
   
}
};

condition
= function (value) {
    console
.log ('condition', value);
   
return value === 2;
}

callback
= function (value) {
    console
.info ('Big Brother is watching you!');
}

var a = new observable (0, condition, callback);

console
.log ('set value to 1');
a
.value = 1;
console
.log ('set value to 2');
a
.value = 2;
console
.log ('set value to 3');
a
.value = 3;
原创粉丝点击