User Guide
Statements 191
Example
In the following example, class Person2 has not yet been marked as dynamic, so calling an
undeclared function on it generates an error at compile time:
class Person2 {
var name:String;
var age:Number;
function Person2(param_name:String, param_age:Number) {
trace ("anything");
this.name = param_name;
this.age = param_age;
}
}
In a FLA or AS file that's in the same directory, add the following ActionScript to Frame 1 on
the Timeline:
// Before dynamic is added
var craig:Person2 = new Person2("Craiggers", 32);
for (i in craig) {
trace("craig." + i + " = " + craig[i]);
}
/* output:
craig.age = 32
craig.name = Craiggers */
If you add an undeclared function, dance , an error is generated, as shown in the following
example:
trace("");
craig.dance = true;
for (i in craig) {
trace("craig." + i + " = " + craig[i]);
}
/* output: **Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 14: There is
no property with the name 'dance'. craig.dance = true; Total ActionScript
Errors: 1 Reported Errors: 1 */
Add the dynamic keyword to the Person2 class, so that the first line appears as follows:
dynamic class Person2 {
Test the code again, and you see the following output:
craig.dance = true craig.age = 32 craig.name = Craiggers
See also
class statement