eval()

Disponibilidad

Flash Player 5 o posterior para disponer de todas las funciones. Puede utilizar la función eval() cuando realice una exportación a Flash Player 4, pero debe utilizar la notación usando barras inclinadas y sólo puede acceder a variables y no a propiedades ni objetos.

Sintaxis

eval(expression)

Parámetros

expression Cadena que contiene el nombre de una variable, propiedad, objeto o clip de película que debe recuperarse.

Valor devuelto

Un valor, referencia a un objeto o clip de película o undefined.

Descripción

Función; accede a variables, propiedades, objetos o clips de película por nombre. Si expression es una variable o una propiedad, se devuelve el valor de la variable o de la propiedad. Si expression es un objeto o un clip de película, se devuelve una referencia al objeto o al clip de película. Si el elemento nombrado en expression no puede encontrarse, se devuelve undefined.

En Flash 4, se utilizaba eval() para simular matrices; en Flash 5 o en versiones posteriores, es aconsejable utilizar para ello la clase Array.

En Flash 4, también puede utilizar eval() para definir y recuperar dinámicamente el valor de una variable o de un nombre de instancia. Sin embargo, también puede llevar esto a cabo con el operador de acceso de matriz ([]).

En Flash 5 y versiones posteriores, no puede utilizar eval() para definir dinámicamente y recuperar el valor de una variable o de un nombre de instancia, ya que no puede utilizar eval() en la parte izquierda de una ecuación. Por ejemplo, sustituya el código:

eval ("var" + i) = "first";

por el código siguiente:

this["var"+i] = "first"

o por éste:

set ("var" + i, "first");

Ejemplo

En el ejemplo siguiente se utiliza eval() para determinar el valor de la expresión "piece" + x. Puesto que el resultado es un nombre de variable, piece3, la función eval() devuelve el valor de la variable y lo asigna a y:

piece3 = "peligroso";
x = 3;
y = eval("piece" + x);
trace(y);
// Resultado: peligroso

Véase también

Clase Array