JavaScript es un lenguaje de programación que se utiliza principalmente para crear páginas web dinámicas.

Una página web dinámica es aquella que incorpora efectos como texto que aparece y desaparece, animaciones, acciones que se activan al pulsar botones y ventanas con mensajes de aviso al usuario.

Técnicamente, JavaScript es un lenguaje de programación interpretado, por lo que no es necesario compilar los programas para ejecutarlos. En otras palabras, los programas escritos con JavaScript se pueden probar directamente en cualquier navegador sin necesidad de procesos intermedios.

A pesar de su nombre, JavaScript no guarda ninguna relación directa con el lenguaje de programación Java. Legalmente, JavaScript es una marca registrada de la empresa Sun Microsystems, como se puede ver en http://www.sun.com/suntrademarks/.

Breve historia

A principios de los años 90, la mayoría de usuarios que se conectaban a Internet lo hacían con módems a una velocidad máxima de 28.8 kbps. En esa época, empezaban a desarrollarse las primeras aplicaciones web y por tanto, las páginas web comenzaban a incluir formularios complejos.

Con unas aplicaciones web cada vez más complejas y una velocidad de navegación tan lenta, surgió la necesidad de un lenguaje de programación que se ejecutara en el navegador del usuario. De esta forma, si el usuario no rellenaba correctamente un formulario, no se le hacía esperar mucho tiempo hasta que el servidor volviera a mostrar el formulario indicando los errores existentes.

Brendan Eich, un programador que trabajaba en Netscape, pensó que podría solucionar este problema adaptando otras tecnologías existentes (como ScriptEase) al navegador Netscape Navigator 2.0, que iba a lanzarse en 1995. Inicialmente, Eich denominó a su lenguaje LiveScript.

Posteriormente, Netscape firmó una alianza con Sun Microsystems para el desarrollo del nuevo lenguaje de programación. Además, justo antes del lanzamiento Netscape decidió cambiar el nombre por el de JavaScript. La razón del cambio de nombre fue exclusivamente por marketing, ya que Java era la palabra de moda en el mundo informático y de Internet de la época.

La primera versión de JavaScript fue un completo éxito y Netscape Navigator 3.0 ya incorporaba la siguiente versión del lenguaje, la versión 1.1. Al mismo tiempo, Microsoft lanzó JScript con su navegador Internet Explorer 3. JScript era una copia de JavaScript al que le cambiaron el nombre para evitar problemas legales.

Para evitar una guerra de tecnologías, Netscape decidió que lo mejor sería estandarizar el lenguaje JavaScript. De esta forma, en 1997 se envió la especificación JavaScript 1.1 al organismo ECMA European Computer Manufacturers Association).

ECMA creó el comité TC39 con el objetivo de «estandarizar de un lenguaje de script multiplataforma e independiente de cualquier empresa». El primer estándar que creó el comité TC39 se denominó ECMA-262, en el que se definió por primera vez el lenguaje ECMAScript.

Por este motivo, algunos programadores prefieren la denominación ECMAScript para referirse al lenguaje JavaScript. De hecho, JavaScript no es más que la implementación que realizó la empresa Netscape del estándar ECMAScript.

La organización internacional para la estandarización (ISO) adoptó el estándar ECMA-262 a través de su comisión IEC, dando lugar al estándar ISO/IEC-16262.

Tabla de Contenido
Capítulo 1. Introducción
1.1. ¿Qué es JavaScript?
1.2. Breve historia
1.3. Especificaciones oficiales
1.4. Cómo incluir JavaScript en documentos XHTML
1.5. Etiqueta noscript
1.6. Glosario básico
1.7. Sintaxis
1.8. Posibilidades y limitaciones
1.9. JavaScript y navegadores
1.10. JavaScript en otros entornos
Capítulo 2. El primer script
Capítulo 3. Programación básica
3.1. Variables
3.2. Tipos de variables
3.3. Operadores
3.4. Estructuras de control de flujo
3.5. Funciones y propiedades básicas de JavaScript
Capítulo 4. Programación avanzada
4.1. Funciones
4.2. Ámbito de las variables
4.3. Sentencias break y continue
4.4. Otras estructuras de control
Capítulo 5. DOM
Capítulo 6. Eventos
6.1. Modelos de eventos
6.2. Modelo básico de eventos
6.3. Obteniendo información del evento (objeto event)
Capítulo 7. Formularios
7.1. Propiedades básicas de formularios y elementos
7.2. Utilidades básicas para formularios
7.3. Validación
Capítulo 8. Otras utilidades
8.1. Relojes, contadores e intervalos de tiempo
8.2. Calendario
8.3. Tooltip
8.4. Menú desplegable
8.5. Galerías de imágenes (Lightbox)
Capítulo 9. Detección y corrección de errores0
9.1. Corrección de errores con Internet Explorer
9.2. Corrección de errores con Firefox
9.3. Corrección de errores con Opera
Capítulo 10. Recursos útiles
Capítulo 11. Ejercicios resueltos
Fuente: Javier Eguíluz Pérez