Comment puis-je joindre un gestionnaire d'événements de changement à une variable?

Duplication possible:
Écoute des changements variables dans JavaScript ou jQuery

Comment puis-je suivre si cette variable a changé?

var ConditionalFlag = 0; 

J'ai essayé ceci:

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

Mais en vain. J'ai envisagé d'utiliser une minuterie de 25 ms pour vérifier les changements comme ceci:

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

Cependant, cela semble être trop élevé. Existe-t-il un moyen de joindre un gestionnaire d'événements à cette variable avec jQuery ou javascript?

Il n'y a pas d'événement qui se déclenche lorsqu'une variable change. JavaScript ne fonctionne pas de cette façon.

Quand cette variable est-elle modifiée? Il suffit d'ajouter un appel à une fonction après.

S'il s'agit d'une variable globale, vous pouvez utiliser les accesseurs de propriétés dans les environnements supportés …

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