Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

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:


 Respuesta de Miguel Angel Alvarez  13/9/05 
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.

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

 Comentarios de los visitantes
Se muestran 3 comentarios revisados

 Comentario de PABLO JARAMILLO
19/1/06 
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

 Comentario de Jesse James
23/1/07 
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

 Comentario de Ñuño Martínez
23/8/07 
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.

 
FAQ relacionadas
  + Botón Javascript para Imprimir página web
  + Pasar variables de ASP o PHP hacia Javascript o viceversa
  + Enviar un mismo formulario a tres frames distintos
  + Retardo en Javascript
  + Enlace múltiple
  + Redimensionar en Netscape el tamaño de la ventana
  + ¿Cuál es la diferencia entre Java y Javascript?
  + Abrir ventanas secundarias en Javascript
  + Cómo tener dos scripts en la misma página para dos navegadores
  + Enviar al navegador a otra página si no tiene habilitado Javascript
  + Abrir una ventana pequeña que quede detrás de la principal.
  + Obtener datos de una base para construir mis javascripts
  + Sustituir puntos por comas en campos numéricos
  + Inhibir una caja de texto de formulario
  + Preguntar si desea enviar realmente un formulario
  + ¿Cómo puedo abrir y cerrar un popup?
  + Menú desplegable para la navegación
  + ¿Cómo puedo maximizar el navegador automáticamente?
  + Utilizar una ventana sin menús para mi web
  + Trabajar con un botón de radio en Javascript
  + JavaScript que muestra un mensage diferente cada día
  + Ir a la página anterior al pulsar una imagen
  + Como puedo hacer una ventana de navegador barra de herramientas.
  + Deshabilitar un botón de radio
  + Evitar que pueda verse el código fuente de la página
  + Habilitar o desabilitar checkbox en función del estado de otro checkbox
  + Comprobacion de formularios
  + Evitar que pida confirmación al cerrar una ventana
  + Abrir popup desde Iframe
  + Generar un color con Javascript
  + Crear con JavaScript variables globales a todos los frames
  + Variables globales en Javascript
  + Propiedades de la clase Math de Javascript
  + Bloquear popups desde la propia web
  + Submenú en otra ventana con Javascript
  + Crear objetos con Javascript
  + Convertir una variable en constante con Javascript
  + Ayuda con Javascript
  + Borrar contenido input automaticamente
  + Utilizar Javascript en tus páginas web
  + ...

Para ver más FAQ relacionadas accede a las categorías:

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia