在javascript中,如何在变量值改变时触发事件? [英] In javascript, how to trigger event when a variable's value is changed?
本文介绍了在javascript中,如何在变量值改变时触发事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个变量:
var trafficLightIsGreen = false;
var someoneIsRunningTheLight = false;
当两个变量符合我的条件时,我想触发一个事件:
I would like to trigger an event when the two variables agree with my conditions:
if(trafficLightIsGreen && !someoneIsRunningTheLight){
go();
}
假设这两个布尔值随时可以改变,我怎么能触发我的 go()
根据我的条件改变的方法?
Assuming that those two booleans can change in any moment, how can I trigger my go()
method when they change according to the my conditions?
推荐答案
在Javascript中更改给定值时,不会引发任何事件。你可以做的是提供一组函数来包装特定的值,并在调用它们来修改值时生成事件。
There is no event which is raised when a given value is changed in Javascript. What you can do is provide a set of functions that wrap the specific values and generate events when they are called to modify the values.
function Create(callback) {
var isGreen = false;
var isRunning = false;
return {
getIsGreen : function() { return isGreen; },
setIsGreen : function(p) { isGreen = p; callback(isGreen, isRunning); },
getIsRunning : function() { return isRunning; },
setIsRunning : function(p) { isRunning = p; callback(isGreen, isRunning); }
};
}
现在你可以调用这个函数并链接回调来执行 go ():
Now you could call this function and link the callback to execute go():
var traffic = Create(function(isGreen, isRunning) {
if (isGreen && !isRunning) {
go();
}
});
traffic.setIsGreen(true);
这篇关于在javascript中,如何在变量值改变时触发事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文