Función eval en Javascript

No entiendo muy bien para que sirve la función eval, ni su funcionamiento. ¿Me lo podrían explicar de una forma sencilla?

La FAQ Función eval en Javascript tiene

Pertenece a la categoría:
Pregunta
No entiendo muy bien para que sirve la función eval, ni su funcionamiento.


¿Me lo podrían explicar de una forma sencilla?
Respuesta de Miguel Angel Alvarez
Esta función es muy importante, tanto que hay algunas aplicaciones de Javascript que no se podrían realizar si no la utilizamos. Su utilización es muy simple, pero puede que resulte un poco más complejo entender en qué casos utilizarla porque a veces resulta un poco sutil su aplicación.




Con los conocimientos actuales no podemos hacer un ejemplo muy complicado, pero por lo menos podemos ver en marcha la función. Vamos a utilizarla en una sentencia un poco rara y bastante inservible, pero si la conseguimos entender conseguiremos entender también la función eval.





var miTexto = "3 + 5"


eval("document.write(" + miTexto +")")





Primero creamos una variable con un texto, en la siguiente línea utilizamos la función eval y como parámetro le pasamos una instrucción javascript para escribir en pantalla. Si concatenamos los strings que hay dentro de los paréntesis de la función eval nos queda esto.





document.write(3 + 5)





La función eval ejecuta la instrucción que se le pasa por parámetro, así que ejecutará esta sentencia, lo que dará como resultado que se escriba un 8 en la página web. Primero se resuelve la suma que hay entre paréntesis, con lo que obtenemos el 8 y luego se ejecuta la instrucción de escribir en pantalla.

Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

PABLO JARAMILLO

19/1/2006
eval se utiliza para transformar una cadena de caracteres a un expresión aritmética , la cual es evaluada.
ejemplo:
var cadena="3+4";
var numero=eval(cadena);
La respuesta que se asigna a numero sera 7

Jesse James

23/1/2007
PERO SI LO Q HAY EN EL STRING NO SON NUMEROS Q PUEDA OPERAR EL EVAL LO Q HARIA ES SOLO CONCATENARLA POR EJEMPLO
var nombre = "kiko"
var completo = eval(El nombre es: "+nombre);
document.write(completo);
ESCRIBIRIA EN PANTALLA: El nombre es: kiko
por favor si hay otra opinion avisarme

Ñuño Martínez

23/8/2007
El comentario de PABLO JARAMILLO no está completo, ya que eval no se utiliza únicamente para transformar una cadena de caracteres a un expresión aritmética, sino cualquier expresión JavaScript. Eso quiere que se puede escribir y ejecutar lo siguiente:

var Nombre = 'Pablo';
var Comando = 'alert ("Hola '+Nombre+'");';
eval (Comando);

Como resultado, se abrirá una ventana de alerta con el mensaje "Hola Pablo" en su interior.

Andres Cardenas

09/11/2009
Ayuda
Deseo que me ayudes cual es la funcion equivalente de eval en NetBeans

Santiago

17/8/2010
funcion eval
la funcion eval() primero se fija si lo que le pasamos como parámetro es código javascript, si lo es lo ejecuta, podría ser cualquier cosa, desde una cuenta matemática simple, una función mas completa creada por nosotros hasta toda una aplicacion javascript.

kevin

03/10/2011
no veo el video
xq no muestra el video lo quiero ver quiero ver como se muere candace xfas quiero ver tambien la cara de yeremi xfas YY__YY

jorge

18/6/2013
ejercicio
hola amigos a ver si me podeis ayudar a resolver esto con javascriipt
- - El programa nos pide un número entero.
- - El programa nos pide la base
- - El programa nos escribe el número introducido en la "base" deseada

por favor ayudenme,mi email es jmorenobellavista@hotmail.es

victor

17/11/2014
quisiera el resultado con function de javascript
3.- realizar dos funciones que me imprima razón social, ruc, cantidad(monto que va a recibir), descripción.
-añadir la fecha actual.
-monto o cantidad recibida hacer la retención de 10%.
-imprimir total neto recibido.
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías