Object.__defineSetter__()

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

Синтаксис:

obj.__defineSetter__(prop, fun )

Параметри:

prop - Рядок, що містить ім'я властивості, прив'язують до заданої функції.

fun - Функція, що викликається при спробі встановити значення зазначеного властивості. function(val) { . . . }

Цей метод є застарілим і не стандартним, рекомендовано використовувати Object.defineProperty.

Приклад:

// не стандартний і застарілий спосіб var o = {}; o.__defineSetter__('value', function(val) { this.anotherValue = val; }); o.value = 5; console.log(o.value); // undefined console.log(o.anotherValue); // 5 // стандарний спосіб // використання оператора set var o = { set value(val) { this.anotherValue = val; } }; o.value = 5; console.log(o.value); // undefined console.log(o.anotherValue); // 5 // використання методу Object.defineProperty() var o = {}; Object.defineProperty(o, 'value', { set: function(val) { this.anotherValue = val; } }); o.value = 5; console.log(o.value); // undefined console.log(o.anotherValue); // 5