Introducción
Para poder seguir este curso necesitas un navegador capaz de ejecutar
Javascript. Esto es: Netscape 2 o superior y Explorer 3 o superior. Sin embargo,
según se avanza en el curso es posible que algunas cosas no funcionen en
navegadores antiguos, aún cuando soporten Javascript.
Para poder teclear los ejemplos no hace falta más que un editor como el
bloc de notas de Windows o similares. Así que, si cumples todos los requisitos,
¡valor y al toro!
¿Qué es Javascript?
JavaScript, al igual que Java o VRML, es una de las múltiples maneras que
han surgido para extender las capacidades del lenguaje HTML. Al ser la más
sencilla, es por el momento la más extendida. Antes que nada conviene aclarar
un par de cosas:
- JavaScript no es un lenguaje de programación propiamente dicho. Es un
lenguaje script u orientado a documento, como pueden ser los
lenguajes de macros que tienen muchos procesadores de texto. Nunca podrás
hacer un programa con JavaScript, tan sólo podrás mejorar tu página Web con
algunas cosas sencillas (revisión de formularios, efectos en la barra de
estado, etc...) y, ahora, no tan sencillas (animaciones usando HTML dinámico,
por ejemplo).
- JavaScript y Java son dos cosas distintas. Principalmente porque Java
sí que es un lenguaje de programación completo. Lo único que comparten es la
misma sintaxis.
Este documento tiene como objetivo mostrar una parte de las potencialidades
del JavaScript. No pretendo hacer aquí una guía completa, sino sólo una pequeña
introducción. Para tener una guía de referencia es mejor acudir a la que ofrece
Netscape
que, al fin y al cabo, son los creadores del invento. Si, como suele ocurrir,
pagas a Timofónica por leer este curso, es mejor que te lo lleves a casa en
formato ZIP si
no quieres caer en la más absoluta de las ruinas.
Existen tres versiones de JavaScript. Casi todo lo que hay en este curso
funciona con la versión 1.0, que nació con el Netscape Navigator 2.0. No
nos detendremos en la compatibilidad demasiado, ya que en el mundo hispano
no existen demasiadas copias de Netscape con versiones inferiores a la 4.
También existe una versión 1.3, introducida en la versión 4.06 (si no
recuerdo mal). Esta versión es una pequeña revisión de la 1.2 creada para
ajustarse al estándar internacional ECMA que regula el lenguaje Javascript, y
por su poca importancia no será cubierto aquí.
El Microsoft Explorer soporta el JavaScript, sólo que cambiandole el
nombre. La versión 3.0 interpreta el JScript, que es similar al JavaScript 1.0 pero
con algunas diferencias para provocar ciertas incompatibilidades (majetes que
son los de Microsoft). El Explorer 4 parece que sí que admite JavaScript 1.1 con
cierta fiabilidad, y muchas cosas del 1.2. La siguiente tabla ofrece un
pequeño resumen del jaleo de las versiones.
| Versión |
Navegador |
Versión |
Navegador |
| Javascript 1.0 |
Netscape 2.0 |
JScript 1.0 |
Explorer 3.0 |
| Javascript 1.1 |
Netscape 3.0 |
JScript 3.0 |
Explorer 4.0 |
| Javascript 1.2 |
Netscape 4.0-4.05 |
JScript 5.0 |
Explorer 5.0 |
| Javascript 1.3 |
Netscape 4.06-4.71 |
|
|
A partir de ahora asumo que quien esté leyendo esto conoce el HTML. Si
no tienes ni idea del mismo, visita primero el
curso de HTML. También
servirá de ayuda que estés familiarizado con la sintaxis de C, C++ o Java, aunque
en los próximos capítulos explicaremos la misma.
Primeros pasos
Vamos a realizar nuestro primer "programa" en JavaScript. Haremos surgir
una ventana que nos muestre el ya famoso mensaje "hola, mundo". Así podremos ver
los elementos principales del lenguaje. El siguiente código es una página Web
completa con un botón que, al pulsarlo, muestra el mensaje.
HolaMundo.html
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function HolaMundo() {
alert("¡Hola, mundo!");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" NAME="Boton" VALUE="Pulsame"
onClick="HolaMundo()">
</FORM>
</BODY>
</HTML>
Y aquí está nuestro ejemplo funcionando:
Ahora vamos a ver, paso por paso, que significa cada uno de los elementos
extraños que tiene la página anterior:
<SCRIPT LANGUAGE="JavaScript">
</SCRIPT>
Dentro de estos elementos será donde se puedan poner funciones en
JavaScript. Puedes poner cuantos quieras a lo largo del documento y en el lugar
que más te guste. Yo he elegido la cabecera para hacer más legible la parte
HTML de la página. Si un navegador no acepta JavaScript no leerá lo que hay
entre medias de estos elementos. Así que si programamos algo que sólo funcione
con la versión 1.1 pondríamos LANGUAGE= "JavaScript1.1"
para que los navegadores antiguos pasen olímpicamente del código y no se hagan
un lío.
function HolaMundo() {
alert("¡Hola, mundo!");
}
Esta es nuestra primera función en JavaScript. Aunque JavaScript esté
orientado a objetos no es de ningún modo tan estricto como Java, donde nada está
fuera de un objeto. Para las cosas que se van a hacer en este tutorial, no vamos
a crear ninguno, pero usaremos los que vienen en la descripción del lenguaje. En
el código de la función vemos una llamada al método alert
(que pertenece al objeto window) que es la que
se encarga de mostrar el mensaje en pantalla. Por un fallo del Netscape no se
pueden poner las etiquetas HTML de caracteres especiales en una función: no los
reconoce. Así que pondremos directamente "¡" arriesgándonos a que salga de otra manera
en ordenadores con un juego de caracteres distinto al del nuestro.
<FORM>
<INPUT TYPE="button" NAME="Boton" VALUE="Pulsame"
onClick="HolaMundo()">
</FORM>
Dentro del elemento que usamos para mostrar un botón vemos una cosa nueva:
onClick. Es un controlador de evento. Cuando el
usuario pulsa el botón, el evento click se dispara y ejecuta el código que tenga
entre comillas el controlador de evento onClick,
en este caso la llamada a la función HolaMundo(),
que tendremos que haber definido con anterioridad. Existen muchos más eventos
que iremos descubriendo según avancemos en el tutorial. En el cuarto cápitulo
hay un resumen de todos ellos.
En realidad, podríamos haber escrito lo siguiente:
<FORM>
<INPUT TYPE="button" NAME="Boton" VALUE="Pulsame"
onClick="alert('¡Hola,Mundo!')">
</FORM>
y nos habríamos ahorrado el tener que escribir la función y todo lo que
le acompaña, además de conseguir que nos reconozca el caracter especial
¡. Sin embargo me pareció conveniente hacerlo de
esa otra manera para mostrar más elementos del lenguaje en el ejemplo.