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.

Referencia de JavaScript MDN

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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow