Volver a la página principal de HTML en castellano
HTML en castellano recomienda...

Curso de Javascript 1.2


En esta página:


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:

  1. 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).
  2. 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('&iexcl;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.