Задать вопрос
@danforth

ООП + jQuery, как правильно делать?

Подскажите, создал класс на JS, который будет работать со скидками (подгружать по AJAX количество бонусных баллов, затем вычислять сколько это в деньгах, ну и обрабатывать input где менеджеры будут вводить сумму для списания бонусов).

Выглядит так: pastebin.com/BqqwtPZK

В качестве обработчиков событий я использую методы этого класса, проблема в том, что в функции для обработчиков передается свой this, и мне приходится объявлять некий var self = affiliate.
Кажется, я запутался с этими this и прототипным ООП, у меня сложилось ощущение, что я что-то неправильно делаю. Как мне изменять свойства объекта правильно в сочетании с обработчиками событий jQuery?

P.S. Всякие Vue и Angular не предлагать, по ТЗ именно jQuery.
  • Вопрос задан
  • 2514 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Stalker_RED К ответам на вопрос (3)
Stalker_RED
@Stalker_RED
Ключевое слово this в javascript работает своеобразно, не так, как в других языках.

В отличие от PHP, Java, C++ и т.п, значение this в javascript не привязывается статически ни к какому объекту, а зависит от контекста вызова.
javascript.ru/tutorial/object/thiskeyword
https://learn.javascript.ru/object-methods
https://developer.mozilla.org/en-US/docs/Web/JavaS...

И да, вместо
var self = affiliate
id: self.customerId
Можно было просто написать
id: affiliate.customerId
Ответ написан
Комментировать