如何将变更事件处理程序附加到变量?

可能重复:
在JavaScript或jQuery中侦听变量

如何跟踪此变量是否已更改?

var ConditionalFlag = 0; 

我试过这个:

 var ConditionalFlag = 0; $(ConditionalFlag).change(function () { alert("Changed"); }); ConditionalFlag++; 

但无济于事。 我考虑使用25ms计时器来检查这样的变化:

 var ConditionalFlag = 0; function CheckFlag() { if (ConditionalFlag > 0) { alert("Changed"); clearInterval(check); } } var check = window.setInterval("CheckFlag()", 25); ConditionalFlag++; 

然而,这似乎有点矫枉过正。 有没有办法用jQuery或javascript将事件处理程序附加到此变量?

当变量发生变化时,没有“事件”被触发。 JavaScript无法正常工作。

这个变量什么时候改变? 只需添加对函数的调用即可。

如果它是全局变量,您可以在支持的环境中使用属性访问器…

 window._conditional_flag = 0; Object.defineProperty(window, "ConditionalFlag", { get: function() { return window._conditional_flag}, set: function(v) { console.log("changed"); window._conditional_flag = v; } });