eval (Método de JScript)

Actualización: noviembre 2007

Evalúa código JScript y lo ejecuta.

function eval(codeString : String [, override : String])

Argumentos

  • codeString
    Necesario. Cadena que contiene código de JScript válido.

  • override
    Opcional. Cadena que determina qué permiso de seguridad se le debe aplicar al código de codeString.

Comentarios

La función eval permite la ejecución dinámica del código de origen de JScript.

El código pasado al método eval se ejecuta en el mismo contexto que la llamada al método eval. Tenga en cuenta que las variables o tipos nuevos definidos en la instrucción eval no son visibles para el programa de inclusión.

El código que se pasa al método eval se ejecuta en un contexto de seguridad restringido, a menos que la cadena "unsafe" se pase como segundo parámetro. El contexto de seguridad restringido ayuda a prohibir el acceso a los recursos del sistema, como el sistema de archivos, la red o la interfaz de usuario. Si el código intenta obtener acceso a estos recursos, se genera una excepción de seguridad.

Si el segundo parámetro de eval es la cadena "unsafe", el código que se pasa al método eval se ejecuta en el mismo contexto de seguridad que el código de llamada. El segundo parámetro distingue entre mayúsculas y minúsculas, por lo tanto, las cadenas "Unsafe" o "UnSAfE" no reemplazarán el contexto de seguridad restringido.

Nota de seguridad:

Utilice eval en modo no seguro sólo para ejecutar cadenas de código obtenidas de orígenes de confianza.

Ejemplo

Por ejemplo, en el siguiente fragmento de código se inicializa la variable mydate a una fecha de prueba o a la fecha actual, dependiendo del valor de la variable doTest:

var doTest : boolean = true;
var dateFn : String;
if(doTest)
   dateFn = "Date(1971,3,8)";
else
   dateFn = "Date()";

var mydate : Date;
eval("mydate = new "+dateFn+";");
print(mydate);

El resultado de este programa es:

Thu Apr 8 00:00:00 PDT 1971

Requisitos

Versión 1

Se aplica a:

Global (Objeto)

Vea también

Referencia

String (Objeto)