Цитата:
|
Сообщение от 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.