Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

применение this в javascript [дубликат]

На данный вопрос уже ответили: Потеря контекста вызова 5 ответов class dateInput { constructor() { this.input = document.querySelector(".input");
/* присваивает передаваемому в конструктор объекту .input?? = выбирает первый элемент с классом .input в документе*/
this.input.onChange = this.onChange; } onChange(event) { this.inputValue = event.srcElement.value; this.updateTime = new Date(); return this.inputValue; } }
Хотел узнать, как работает код выше, разобрался, но пока не совсем точно, в коде есть мои комментарии, вот мои вопросы:
не знаю, как работает первый this.input, передаёт объекту, для которого используется конструктор что? при изменении объекта делает что? тоже не понимаю функцию onChange не понимаю всю задавая этот вопрос понял, что не могу найти нигде понятного мне применения или объяснения применения методов типа input и onchange


Ответ

class dateInput { constructor() { /* выбирает первый элемент с классом .input в документе */ this.input = document.querySelector(".input"); this.input.onchange = this.onChange.bind(this); // not this.input.onChange } onChange(event) { // теперь (после добавления .bind(this) в конструкторе) this здесь - // объект типа dateInput, чей метод используется в качестве обработчика this.inputValue = event.srcElement.value; this.updateTime = new Date(); //return this.inputValue; - meaningless console.log(this); } } var a = new dateInput(); console.log(a);

Комментариев нет:

Отправить комментарий