Buscar..
Introducción
En JavaScript, la función eval
evalúa una cadena como si fuera un código JavaScript. El valor de retorno es el resultado de la cadena evaluada, por ejemplo, eval('2 + 2')
devuelve 4
.
eval
está disponible en el ámbito global. El alcance léxico de la evaluación es el alcance local, a menos que se invoque de manera indirecta (por ejemplo, var geval = eval; geval(s);
).
El uso de eval
está fuertemente desaconsejado. Vea la sección de Comentarios para más detalles.
Sintaxis
- eval (cadena);
Parámetros
Parámetro | Detalles |
---|---|
cuerda | El JavaScript para ser evaluado. |
Observaciones
El uso de eval
está fuertemente desaconsejado; En muchos escenarios presenta una vulnerabilidad de seguridad.
eval () es una función peligrosa, que ejecuta el código que se pasa con los privilegios de la persona que llama. Si ejecuta eval () con una cadena que podría verse afectada por una parte maliciosa, puede terminar ejecutando código malicioso en la máquina del usuario con los permisos de su página web / extensión. Más importante aún, el código de terceros puede ver el alcance en el que se invocó eval (), lo que puede conducir a posibles ataques de formas en las que la Función similar no es susceptible.
Adicionalmente:
Introducción
Siempre puede ejecutar JavaScript desde dentro de sí mismo, aunque esto no se recomienda en absoluto debido a las vulnerabilidades de seguridad que presenta (consulte las Notas para obtener más información).
Para ejecutar JavaScript desde dentro de JavaScript, simplemente use la siguiente función:
eval("var a = 'Hello, World!'");
Evaluación y matemáticas
Puede establecer una variable en algo con la función eval()
usando algo similar al siguiente código:
var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";
var res = a + b + c;
El resultado, almacenado en la variable res
, será:
200
4
27
El uso de eval
está fuertemente desaconsejado. Vea la sección de Comentarios para más detalles.
Evaluar una cadena de declaraciones de JavaScript
var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0; ";
console.log("z is ", eval(str));
El uso de eval
está fuertemente desaconsejado. Vea la sección de Comentarios para más detalles.