this 731
this
Availability
Flash Player 5.
Usage
this
Description
Identifier; references an object or movie clip instance. When a script executes, this references the
movie clip instance that contains the script. When a method is called,
this contains a reference
to the object that contains the called method.
Inside an
on event handler action attached to a button, this refers to the Timeline that contains
the button. Inside an
onClipEvent() event handler action attached to a movie clip, this refers
to the Timeline of the movie clip itself.
Because
this is evaluated in the context of the script that contains it, you can’t use this in a
script to refer to a variable defined in a class file:
// in file applyThis.as
class applyThis{
var str:String = "Defined in applyThis.as";
function conctStr(x:String):String{
return x+x;
}
function addStr():String{
return str;
}
}
// Use following code in FLA to test movie
import applyThis;
var obj:applyThis = new applyThis();
var abj:applyThis = new applyThis();
abj.str = "defined in FLA";
trace(obj.addStr.call(abj,null)); // defined in FLA
trace(obj.addStr.call(this,null)); // undefined
trace(obj.addStr.call(obj,null)); // Defined in applyThis.as
Similarly, to call a function defined in a dynamic class, you must use this to scope the function:
// incorrect version of simple.as
dynamic class simple{
function callfunc(){
trace(func());
}
}
// correct version of simple.as
dynamic class simple{
function callfunc(){
trace(this.func());
}
}