Inicio Atrás Adelante

JavaScript

Navegador:

Versión:

Pantalla:

Colores:

Java:

 

 

 

 

 

 

 

Contenido complementario

La ventana que ha habéis visto, que pedía el nombre del usuario, así como la recogida de datos sobre vuestro navegador y configuración de pantalla, se han creado dinámicamente con unas pequeñas líneas de JavaScript. Se trata de un lenguaje de scripts desarrollado por Netscape para aumentar las funcionalidades del lenguaje HTML.

JavaScript es un lenguaje interpretado, es decir, que no requiere un proceso de compilación como Java. El propio navegador del usuario es el encargado de interpretar las diferentes sentencias JavaScript contenidas en una página HTML, y ejecutarlas de la forma más adecuada y rápida posible.

Debemos comentar que también se trata de un lenguaje orientado a eventos. Es decir, cuando un usuario hace clic sobre algún vínculo de hipertexto, o mueve el puntero sobre una imagen concreta, se produce un evento. Gracias a la implementación de JavaScript, podemos crear diferentes scripts que ejecuten acciones como respuesta a un determinado evento. También hay que decir que JavaScript es un lenguaje orientado a objetos y que, aunque el modelo de objetos de JavaScript está reducido y simplificado, incluye los elementos necesarios para que los scripts accedan a la información de una página y, al mismo tiempo, les sea posible actuar sobre la interfaz del navegador.

Uno de los problemas que ha tenido a lo largo de su desarrollo ha sido el de las versiones. Como hemos dicho, Netscape desarrolló JavaScript, y la primera versión, la 1.0, la incluyó en su navegador versión 2.0. JavaScript 1.1. supuso un salto más allá y fue incorporado a su versión de navegador 3.0. Microsoft lo intentó integrar en su navegador 3.0 con un nombre diferente (Jscript o VBScript), pero resultó un producto bajo en seguridad y lleno de errores.

La asociación ECMA (European Computer Manufacturers Association) impulsó un estándar para JavaScript, que Microsoft implementó en su navegador Internet Explorer 4.0. Este estándar comparte la mayoría de las características con JavaScript 1.2, la nueva versión que creó Netscape con su navegador versión 4.0. De todos modos, no son del todo compatibles, ya que tampoco son totalmente equivalentes, lo que pone de nuevo en evidencia la dificultad de programar aplicaciones para web una sola vez. Siempre deberemos revisar el código JavaScript y verificar que realmente conseguiremos el efecto que queremos en los dos principales navegadores.

La evolución de JavaScript va más allá, y en las últimas versiones de Netscape Communicator (4.06 en adelante) se implementa la nueva versión de JavaScript 1.3, que sí es totalmente compatible con la especificación ECMA-262. La siguiente tabla nos muestra la evolución y las implementaciones que se han realizado en los diferentes navegadores:

Navegador

Versión de JavaScript

Netscape Navigator 2.0

1.0

Netscape Navigator 3.0 1.1
Netscape Communicator 4.0 - 4.05 1.2
Netscape Communicator 4.06 o superior 1.3 (estándar ECMA)
Microsoft Internet Explorer 3.0 JScript o VBScript (JavaScript 1.0)
Microsoft Internet Explorer 4.0 o superior Estándar ECMA

Tenemos dos formas de incluir los scripts en las páginas web:

  • Se inserta propiamente dentro del mismo código de la página, entre las etiquetas <SCRIPT> ... </SCRIPT>. Éstas, principalmente, irán colocadas entre las etiquetas de la cabecera </TITLE> y </HEAD>. Puede llevar un atributo que especifica el tipo de lenguaje o, mejor dicho, la versión de Javascrit que vamos a incorporar. Se especifica de la siguiente manera:

<SCRIPT LANGUAGE="JavaScript (con número de versión) o VBScript">
<!--
especificaciones de las diferentes funciones
//-->

Tenemos que decir que también podemos situar los scripts en aquella parte concreta de la página donde queremos que hagan efecto. Por ejemplo, si os fijáis, en el inicio de esta página está especificado vuestro nombre dentro del propio texto. El script que lo hace posible está insertado en el propio texto para situar el efecto precisamente donde nosotros queríamos, integrado en el párrafo.

  • También lo podemos llamar desde un fichero externo que se cargará con la página. Este método es muy práctico si muchas páginas apuntan a diferentes sentencias JavaScript que se deben repetir para todas ellas. La gestión y mantenimiento en caso de cambio de alguna variable afectará a todas por igual sin tener que revisar página por página. También está especialmente indicado para aquellas páginas que incluyan muchas líneas de código. Almacenarlo todo en un mismo fichero es más práctico y más "pulido" para el mantenimiento del aspecto interno del código de la página. Cuanto más ordenado esté, más fácil es localizar cualquier parte de ésta.
    Estos ficheros deben llevar asociada una determinada extensión, que será "*.js". A partir de aquí hay que invocarlos dentro de la propia etiqueta <SCRIPT> de la siguiente manera:

<SCRIPT LANGUAGE="JavaScript" SRC =" ubicación del fichero JS "></SCRIPT>

Finalmente, debemos tener presente, al igual que en el resto de la página web, una serie de comentarios que nos servirán tanto para comentar aspectos de un script como para indicar a los navegadores antiguos o que no soporten JavaScript que no visualicen toda una serie de signos extraños en la página:

  • <!-- i //-->, sirve para comentar el script a los navegadores que no lo soporten, es decir, para esconderlo. Como vemos, al final de la marca de comentario se incluye un par de barras inclinadas para evitar que el intérprete del código nos dé error por la línea.
  • Se pueden comentar diferentes (//--) líneas en un fichero "js" para estructurar las diferentes funciones. Por ejemplo:
  • //--data.js ----- Versión 14-01-99 -----
    function getWinNm() {
    var now = new Date();
    var hr = new String(now.getHours());
    var mn = new String(now.getMinutes());
    var sc = new String(now.getSeconds());
    var winNm = hr + mn + sc;return winNm;
    }
    function doWrite(to,cc,re,bo) {
    var numSes = parent.logobar_biblio.document.IDs.session.value;
    var cgi = '/wrte_cnt?s=' + numSes + '&l=pers&to=' + to + '&fr=&cc=' + 
    cc + '&re=' + re + '&bo=' + bo;
    var winNm = getWinNm();
    var messWin = window.open(cgi,winNm,'width=600,height=400,menubar=yes,
    resizable=no,scrollbars=yes,status=yes');
    }
    var winNm = getWinNm();
    function mapWin(CatUrl, numplus) {
    var winNmplus = winNm + numplus;
    window.open(CatUrl,winNmplus,'width=600,height=400,menubar=yes,resizable=yes,
    scrollbars=yes,status=yes');
    }
    function mouseOver(banner) {
     self.status=banner;
    }
    function mouseOut() {
     self.status="© Universitat Oberta de Catalunya. Biblioteca";
    }
    function initArray() {  // Thanks JavaScript Mailing List for this function
          this.length = initArray.arguments.length
          for (var i = 0; i < this.length; i++)
          this[i+1] = initArray.arguments[i]
    }
     var MOYArray = new initArray("/1/","/2/","/3/","/4/",
                                    "/5/","/6/","/7/","/8/","/9/",
                                    "/10/","/11/","/12/");
     var LastModDate = new Date(document.lastModified);
     document.write("Última actualización: ");
     document.write(LastModDate.getDate(),"");
     document.write(MOYArray[(LastModDate.getMonth()+1)],"");
     document.write(LastModDate.getYear()+1900);

Java y JavaScript son muy parecidos, pero el segundo es más sencillo, tanto en el momento de escribirlo como de incorporar sus aplicaciones a las páginas web. No hay ninguna necesidad de compilar las aplicaciones. Simplemente, se describen los scripts directamente y el navegador los interpretará siempre y cuando se invoquen de cierta manera desde la página, es decir, llevando a cabo un proceso de "programación" que recibe el nombre de scripting. De todas formas, no nos tenemos que engañar. JavaScript es, desde el punto de vista genérico y conceptual, más sencillo que Java, pero puede llegar a ser muy complejo cuando se tienen que desarrollar cadenas de variables, funciones, expresiones, objetos, sentencias, métodos, etc.

Hay ciertas diferencias entre Java y JavaScript que es conveniente perfilar para no confundirlos:

JavaScript Java
Interpretado por el cliente, por lo tanto, no compilado. Compilado por el servidor antes de la ejecución del cliente.
Basado en objetos. No tiene clases o herencia asociadas. Orientado a objetos. Los programas consisten en clases de objetos, con herencias, etc.
Integrado/incluido en HTML (etiqueta <SCRIPT> más contenidos visibles en la página). Applets diferentes de HTML (accesibles desde páginas HTML). Código no visible.
No dispone de reglas muy estrictas, es flexible en el momento de crear y utilizar las variables. Tiene una serie de reglas estrictas sobre cómo se deben utilizar las variables. Es preciso declararlas antes de utilizarlas.
Apropiado para aplicaciones simples. Es muy potente y permite crear aplicaciones complejas al basarse en un lenguaje de programación desarrollado.
No es necesario un kit para escribir las funciones y variables. Es necesario el kit de desarrolladores de Java, JDK, proporcionado gratuitamente por Sun Microsystems.
No declara el tipo de las variables. Se debe declarar el tipo de las variables.
Enlace dinámico de objetos y eventos referenciados validados en tiempo de ejecución. Enlace estático; los objetos referenciados deben existir en tiempo de compilación.
Es seguro porque no puede escribir en el disco duro. Es seguro porque no puede escribir en el disco duro.

En definitiva, vemos que JavaScript es una aplicación importante dentro del entorno de creación de páginas web avanzadas que es preciso tener muy en cuenta. Podemos encontrar en la Red multitud de direcciones de las que bajarnos librerías enteras de JavaScript para aplicar a las funcionalidades que requieren nuestras páginas. Puesto que no se deben compilar, y podemos ver directamente el código en pantalla, las podemos adaptar a nuestras necesidades concretas y, poco a poco, aprender para desarrollar las propias aplicaciones.

Sus aplicaciones son múltiples: validación de formularios, calendarios, controles de logins y passwords, abrir ventanas nuevas, llamar a otras aplicaciones, juegos, personalización de pantallas, etc. A continuación, os proponemos un ejemplo muy simple de lo que se puede hacer. Por cierto, ¿sabéis cuál es la letra de vuestro DNI?

Introducid vuestro DNI

La letra es:

Inicio Atrás Adelante Arriba