![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
![]()
this в Javascript2012-03-09 16:46:56 (читать в оригинале)Я сейчас чуть с ума не сошёл. Написал классный объект в Javascript, всё по канонам, ломаться просто нечему, а объект - не работает! Покопавшись, выяснил, что не работает обращение к свойствам объекта из его метода через this. Долго плакал, гуглил, молился, слушал радио “Радонеж”. Узнал, что this в Javascript часто НЕ указывает на родной объект, а на объект DOM-документа или (мой случай) объект JQuery. Я вызывал этот чёртов метод через click на JQuery. Естественно, имя this в его случае указывало на объект документа, на котором произошёл клик. Bullshit! К счастью, один умный человек на Хабре в 2010 году выложил статью по этому поводу. Надо всего лишь записать this своего класса в переменную. function ModalWindow(){ var fn = this; fn.opened = 0; } И тогда fn.opened будет доступно во всех методах, даже тех, в которых this намертво забит другими сущностями. Я сегодня познал дзен Яваскрипта, однозначно.
|
![]() ![]() ![]()
Категория «Образование»
Взлеты Топ 5
Падения Топ 5
![]()
Популярные за сутки
|
Загрузка...

взяты из открытых общедоступных источников и являются собственностью их авторов.