Non ho ben capito la domanda, ma in generale per osservare i cambiamenti di una variabile puoi provare così:
	codice:
	function creaOsservaVariabile (nome, callback, valoreIniziale) {
    var valore = valoreIniziale;
    Object.defineProperty(window, nome, {
        get: function () {return valore;},
        set: function (nuovo) {
            callback(nuovo, valore);
            valore = nuovo;
        }
    });
}
 
	codice:
	creaOsservaVariabile("animale", function (nuovo, vecchio) {
    alert("Il " + vecchio + " è diventato un " + nuovo);
}, "cane");
setTimeout(function () {
    animale = "canarino";
}, 3000); // Dopo 3 secondi apparirà un avviso "Il cane è diventato un canarino"
 
(non l'ho testato che sono dal cellulare)