Показать сообщение отдельно
Старый 14.01.2008, 13:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от aQuestion
Код:
var F:Function = function () {
	this.f = function () {
		trace (this);
	};
	this.toString = function () {
		return "hello";
	};
};
var o:Object = new F ();
var z:Function = o.f; z ();
по прежнему пишет [object MainTimeline], хотя объект о никуда не девается. внутри функции это безобразие выдаёт [object global], т.е. функция тупо отваливается от объекта на этапе взятия o.f.
Не отваливается:
Код:
var o:Object = new Object();
o.f = function():void {
	trace(this);
}
o.toString = function():String {
	return "o";	
}
var a:Object = new Object();
a.toString = function():String {
	return "a";	
}
a.f = o.f;
o.f();
a.f();
Для таких объектов области видимости меняются, как в AS2.