Name
eval( ) Global Function — convert a string to an identifier
Availability
Flash 4 and later
Synopsis
eval(stringExpression)
Arguments
- stringExpression
A string or an expression that yields a string. Should match the name of some identifier.
Returns
The value of the variable represented by
stringExpression
or a reference to the
object, movie clip, or function represented by
stringExpression
. If
stringExpression
does not represent a
variable or a movie clip, undefined
is returned.
Description
The eval( )
function provides a means of
constructing a dynamic reference to an identifier based on a string
of text. eval( )
converts a string to a
variable, movie clip, object property, or other identifier and then
evaluates that identifier. For example, here we use the return value
of eval( )
to set the value of a variable:
name1 = "Kathy"; count = 1; currentName = eval("name" + count); // Sets currentName to "Kathy"
And here we control a dynamically-named movie clip,
star1
:
eval("star" + count)._x += 100; // Move star1 right 100 pixels
But we may also use an eval( )
invocation in
place of an identifier that is the lefthand operand of an assignment
expression, as in:
eval("name" + count) = "Simone"; // Sets name1 to "Simone"
Note that, unlike its JavaScript cousin, eval( )
in ActionScript does not allow for the compiling and execution of
arbitrary blocks of code in a string. Full support of eval(
)
would require an ActionScript compiler in the Player, which would cause too great an increase in the Player ...
Get ActionScript: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.