我使用javascript。假设我的应用程序具有以下功能:
function verify(cats) {
if ( cats > 20 ) {
// do something
}
}
假设我有一个添加猫的按钮,那么每次添加猫后我都可以使用该功能。
但是,我不喜欢这种方法。
我希望此功能在后台运行,并且在条件为true时自动执行
有办法吗?
最佳答案
使用setter,它在每个作业上运行。之前:
var obj = {};
obj.cats = 10;
obj.cats += 30;
verify(obj.cats); // we don't want to call this each time.
后:
var obj = {
_cats : 0, // private
get cats() { return this._cats; },
set cats(num) {
verify(num); // any verification here
this._cats = num;
}
};
稍后,您可以执行以下操作:
obj.cats += 10; // will run verification
obj.cats = 15; // same
另外,您可以使用代理,但是JS引擎尚未真正支持它们。
关于javascript - 后台功能javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32741865/