40 Chapter 2: ActionScript Basics
The following example shows the results of casting built-in object types. As the first line in the
with(results) block shows, an illegal cast—in this case, casting a string to a movie clip—
returns
null. As the last two lines show, casting to null or undefined returns undefined.
var mc:MovieClip;
var arr:Array;
var bool:Boolean;
var num3:Number;
var obj:Object;
var str:String;
_root.createTextField("results",2,100,100,300,300);
with(results){
text = "type MovieClip : "+(typeof MovieClip(str)); // returns null
text += "\ntype object : "+(typeof Object(str)); // returns object
text += "\ntype Array : "+(typeof Array(num3)); // returns object
text += "\ntype Boolean : "+(typeof Boolean(mc)); // returns boolean
text += "\ntype String : "+(typeof String(mc)); // returns string
text += "\ntype Number : "+(typeof Number(obj)); // returns number
text += "\ntype Function : "+(typeof Function(mc)); // returns object
text += "\ntype null : "+(typeof null(arr)); // returns undefined
text += "\ntype undefined : "+(typeof undefined(obj)); // returns undefined
}
//Results in Output panel
type MovieClip : null
type object : object
type Array : object
type Boolean : boolean
type String : string
type Number : number
type Function : object
type null : undefined
type undefined : undefined
You can’t override primitive data types such as Boolean, Date, and Number with a cast operator of
the same name.
About variables
A variable is a container that holds information. The container itself is always the same, but the
contents can change. By changing the value of a variable as the SWF file plays, you can record and
save information about what the user has done, record values that change as the SWF file plays, or
evaluate whether a condition is true or false.
It’s a good idea always to assign a variable a known value the first time you define the variable.
This is known as initializing a variable and is often done in the first frame of the SWF file.
Initializing a variable helps you track and compare the variable’s value as the SWF file plays.
Variables can hold any type of data (see “About data types” on page 34). The type of data a
variable contains affects how the variable’s value changes when it is assigned in a script.
Typical types of information that you can store in a variable include a URL, a user’s name, the
result of a mathematical operation, the number of times an event occurred, or whether a button
has been clicked. Each SWF file and movie clip instance has a set of variables, with each variable
having a value independent of variables in other SWF files or movie clips.