eval()

Availability

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 only access variables, not properties or objects.

Usage

eval(expression)

Parameters

expression A string containing the name of a variable, property, object, or movie clip to retrieve.

Returns

A value, reference to an object or movie clip, or undefined.

Description

Function; accesses variables, properties, objects, or movie clips by name. If expression is a variable or a property, the value of the variable or property is returned. If expression is an object or movie clip, a reference to the object or movie clip is returned. If the element named in expression cannot be found, undefined is returned.

In Flash 4, eval() was used to simulate arrays; in Flash 5 or later, it is recommended that you use the Array class to simulate arrays.

In Flash 4, you can also use eval() to dynamically set and retrieve the value of a variable or instance name. However, you can also do this with the array access operator ([]).

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");

Example

The following example uses eval() to determine the value of the expression "piece" + x. Because the result is a variable name, piece3, eval() returns the value of the variable and assigns it to y:

piece3 = "dangerous";
x = 3; 

y = eval("piece" + x);
trace(y);

// Output: dangerous

See also

Array class