Сегодня 19 февраля, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Человек-Хэмингуэй
Человек-Хэмингуэй
Голосов: 2
Адрес блога: http://kvisaz.ru
Добавлен: 2007-12-13 21:24:07 блограйдером Luber
 

this в Javascript

2012-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 намертво забит другими сущностями.

Я сегодня познал дзен Яваскрипта, однозначно.


Тэги: заметка

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.