1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
package
{
import flash.display.Sprite;
public class Audio extends Sprite
{
public function Audio()
{
var f:Function = function():void
{
trace(this);
}
f();//call function
trace(this);//trace current scope
//call function in different instance
new Foo().runFunction(f);
}
public override function toString():String
{
return "FunctionClosureTest";
}
}
}
class Foo
{
public function runFunction(f:Function):void
{
f();
}
}
//override toString of Global object
this.toString = function():String
{
return "Global"
} |