Object.watch()

watch() - стежить за привласненням властивості значень і запускає вказану функцію, коли це відбувається.

Синтаксис:

obj.watch( prop, handler )

Параметри:

prop - Ім'я властивості об'єкта, чиї зміни ви хочете відслідковувати.

handler - Функція, викликається при зміні значення зазначеної властивості.

Опис:

watch() метод об'єкта Object який стежить за привласнення властивості prop в цьому об'єкті, викликаючи функцію handler (prop, oldval, newval) всякий раз, коли властивість prop встановлюється і зберігає повернений значення в цій властивості. Точка спостереження може фільтрувати (або скасовувати) присвоювання значення, повертаючи змінений нове значення newval (або старе значення oldval).

Якщо ви видалите властивість, для якого була встановлена ​​точка спостереження, ця точка спостереження не буде відключена. Якщо ви пізніше знову створите цю властивість, точка спостереження продовжить працювати. Для видалення точки спостереження використовуйте метод unwatch(). За замовчуванням, метод watch успадковується кожним об'єктом, що стався від Object.

Не всі браузери підтримують.

Використання об'єкта Proxy дозволяє вам зробити ще більш глибокі зміни при присвоєнні властивостей.

Приклад:

var b={pa:5, hit:8}; if(b.watch){ b.watch('pa', function(a,b,c){ alert("Назва методу: '"+a+"', старе значення: '"+b+"' , нове значення: "+c); }); b.pa="+$%)"; b.unwatch("pa"); b.pa=0; }else alert("Ваш браузер не підтримує метод watch.");