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.