Показать сообщение отдельно
Старый 06.03.2010, 01:58
AzagThoth вне форума Посмотреть профиль Отправить личное сообщение для AzagThoth Найти все сообщения от AzagThoth
  № 1  
Ответить с цитированием
AzagThoth
 
Аватар для AzagThoth

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
The bomb! setInterval не работает this

Здравствуйте.
Столкнулся с интересной проблемой, если в функции вызываемой при помощи setInterval попробовать обратиться к this, то как это не странно this возвращает undefined.
Код AS1/AS2:
Object.prototype.test=function(){
	trace(this.test);
	if(t==undefined){
		t=setInterval(this.test,100);
	}
}
a={};
a.test();
Вот что в Output вижу:
[type Function]
undefined
undefined
undefined
undefined
undefined
Ещё вариант:
Код AS1/AS2:
Object.prototype.test=function(){
	trace(this);
	if(t==undefined){
		t=setInterval(this.test,100);
	}
}
a={};
a.test();
Вот что в Output вижу:
[object Object]
undefined
undefined
undefined
undefined
undefined
Почему так? Почему this возвращает undefined? Занимаюсь по книжке Гурского, так вот, если верить ему(глава про ОПП во Flash) то this никогда undefined не должна возвращать. Очень интересный и важный вопрос, пожалуйста помогите.
__________________
Играй. Это жизнь.
Всё повторяется. Играй.