User Guide
Global Functions 45
In Flash 5 or later, you cannot use eval() to dynamically set and retrieve the value of a
variable or instance name, because you cannot use
eval() on the left side of an equation. For
example, replace the code
eval ("var" + i) = "first";
with this:
this["var"+i] = "first"
or this:
set ("var" + i, "first");
Availability: ActionScript 1.0; Flash Lite 1.0 - Flash Player 5 or later for full functionality.
You can use the
eval() function when exporting to Flash Player 4, but you must use slash
notation and can access only variables, not properties or objects.
Parameters
expression:Object - The name of a variable, property, object, or movie clip to retrieve. This
parameter can be either a String or a direct reference to the object instance (i.e use of
quotation marks (" ") is optional.)
Returns
Object - A value, reference to an object or movie clip, or undefined .
Example
The following example uses
eval() to set properties for dynamically named movie clips. This
ActionScript sets the
_rotation property for three movie clips, called square1_mc,
square2_mc, and square3_mc.
for (var i = 1; i <= 3; i++) {
setProperty(eval("square"+i+"_mc"), _rotation, 5);
}
You can also use the following ActionScript:
for (var i = 1; i <= 3; i++) {
this["square"+i+"_mc"]._rotation = -5;
}
See also
Array, set variable statement