Вы можете «смотреть» объекты в большинстве основных браузеров. Здесь это прокладка.По сути, идея заключается в том, чтобы иметь установщик (в этом примере это функция с именем handler
), которая будет выполняться при изменении значения.Я не уверен, какова степень поддержки браузера.
Хотя, если честно, звучит гораздо проще, если у вас есть собственный метод установки.Либо превратите его в объект (вы можете легко расширить этот пример, чтобы использовать общую handler
вставку постоянного изменения заголовка):
function Watchable(val) { // non-prototypal modelling to ensure privacy
this.set = function(v){
document.title=val=v;
};
this.get = function(){return val;};
this.set(val);
}
var title = new Watchable("original title");
title.get(); // "original title"
title.set("second title"); // "second title"
title.get(); // "second title"
Или, если это не то, что вам нужно создавать несколько раз, простая функция + соглашение сделает:
function changeVal(newVal) {
variableToWatch = newVal;
// change some DOM content
}