Пытаюсь реализовать в объекте нечто наподобие события для реакции на изменение его свойства:
obj = {
prop: -1,
onChange: function() {},
setProp: function(value) {
this.prop = value;
this.onChange;
}
}
И далее, в основном коде скрипта:
function func() {
код
}
...
obj.onChange = func;
Такой метод не работает. Думаю, я что-то делаю не так, с подобными событиями раньше не работал. Как это обычно делается?
this.onChange();
- чтобы вызвать, добавьте скобочки
Используйте один метод с разным числом параметров для get
/set
:
var obj = {
_prop: -1,
onChange: null,
prop: function() {
if (arguments.length == 0)
return this._prop;
this._prop = arguments[0];
if (this.onChange)
this.onChange();
}
};
obj.onChange = function() { console.log("onChange handler"); }
console.log(obj.prop());
obj.prop(3);
console.log(obj.prop());
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Вопрос по форме "Точки продаж", это через яндекс конструктор реально сделать ?