Javascript

Javascript

JavaScript, al igual que Java o VRML, surgió para extender las capacidades del lenguaje HTML y conseguir páginas web dinámicas

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 escrito en JavaScript, tan sólo podrás mejorar tu página Web insertando código javascript en la misma

Utilidad de JavaScript

JavaScript sirve principalmente para mejorar la gestión de la interfaz cliente / servidor. Un script JavaScript insertado en un documento HTML permite reconocer y tratar localmente, es decir, en el cliente, los eventos generados por el usuario. Estos eventos pueden ser el recorrido del propio documento HTML o la gestión de un formulario

Por ejemplo: cuando la página HTML es un formulario que permite acceder a una agenda telefónica, se puede insertar un script que verifique la validez de los parámetros proporcionados por el usuario. Esta prueba se efectúa localmente y no necesita un acceso a la red

Por otro lado, también se podrá utilizar JavaScript para efectuar varias opciones a la vez; por ejemplo, visualizar dentro de un documento HTML un vídeo o ejecutar un applet de Java…

Diferencias con Java

La principal diferencia entre JavaScript y Java, es que este último es un lenguaje de programación completo. Aunque comparten la misma sintaxis

JavaScript es un lenguaje que se integra directamente en las páginas HTML. Tiene como características principales las siguientes:

  • Es interpretado (no compilado) por el cliente, es decir, se ejecuta directamente el programa fuente, al contrario que en los lenguajes compilados, no se genera ni código objeto ni ejecutable para cada ordenador en el que se quiera ejecutar dicho programa
  • Está basado en objetos. No es, como Java, un lenguaje de programación orientada a objetos (OOP). JavaScript no emplea ni clases ni herencia, ni otras técnicas típicas de la OOP
  • Su código se integra en las páginas HTML, incluido en las propias páginas
  • No es necesario declarar los tipos de variables que van a utilizarse, JavaScript realiza una conversión automática de tipos
  • Las referencias a objetos se comprueban en tiempo de ejecución. Esto es consecuencia de que JavaScript no es un lenguaje compilado
  • No es posible trabajar directamente con ficheros, ni escribir automáticamente al disco duro. Por eso se dice que JavaScript es un lenguaje seguro para los usuarios de internet

Utilización de JavaScript en un documento HTML

La inserción de un documento HTML se realiza mediante la marca SCRIPT utilizando la sintaxis:

Los atributos de esta marca son:

  • type=“text/javascript”
    Precisa el lenguaje del script. Este atributo es obligatorio en ausencia del atributo SRC
  • src=url
    El atributo SRC precisa el URL del script a insertar en el documento. Este atributo es opcional, porque el script puede insertarse directamente en un documento HTML

Podrá especificarse para insertar en un documento un script de un lenguaje determinado y que cuyo código fuente se encuentra en un archivo especificado en un determinado url. Puede sernos útil si queremos que varias de nuestras páginas web compartan los mismos scripts sin tener que insertarlos en cada una, repitiendo el código

A continuación enunciaremos algunos puntos a tener en cuenta respecto a la introducción de JavaScript en un documento HTML:

  • El script insertado mediante la marca SCRIPT es evaluado por el cliente tras la visualización de la página HTML. Las funciones definidas no se ejecutan inmediatamente, dependen de los eventos asociados a la página
  • La inserción del script mediante la marca SCRIPT puede colocarse en cualquier lugar del documento HTML pero se recomienda colocarla en la cabecera, es decir, en la zona definida por el HEAD. De este modo, el script está definido desde el principio del documento, lo que garantiza que éste sea visible en todo el documento
  • Si se definen, además del script mediante el atributo SRC, scripts en el propio documento, el cliente evaluará en primer lugar el insertado mediante el atributo SRC y seguidamente los incluidos en el documento
  • Los URL correspondientes a un JavaScript poseen generalmente la extensión .js
  • Es preferible delimitar los scripts insertados en un documento por comentarios HTML para asegurarse de que el contenido del script no aparecerá en los clientes que no reconozcan la marca SCRIPT. Por ejemplo:
  • El lenguaje JavaScript no es case sensitive, es decir, no distingue mayúsculas de minúsculas salvo en las cadenas de caracteres literales

Por último, comentar otra forma de introducir scripts en documentos HTML, y es incluir estos script como controladores de eventos de algunas marcas, como pueden ser la marcas de imágenes, anclas, links, botones, etc. Veamos un ejemplo:

Ir al índice

Como puede verse, dentro de esta marca, como atributo de esta, se pone un controlador de eventos y después del signo igual y entre comillas se incluye el código de JavaScript. Ahora bien, también es posible llamar a una función desde el HEAD del documento. Se recomienda esta segunda opción ya que es una manera más limpia y clara de escribir páginas. Se conseguiría el mismo resultado que en el ejemplo anterior:

Las versiones de JavaScript

El lenguaje fue inventado por Brendan Eich en la empresa Netscape Communications. Apareció por primera vez en el Netscape Navigator 2.0. La cual incluía JavaScript bajo el nombre de Mocha, cuando apareció esta versión de Navigator se le llamaba LiveScript. Finalmente fue rebautizado como JavaScript en un anuncio conjunto entre Sun Microsystems y Netscape, el 4 de diciembre de 1995

Tradicionalmente, se venía utilizando en páginas web HTML, para realizar tareas y operaciones en el marco de la aplicación únicamente cliente, sin acceso a funciones del servidor. JavaScript se ejecutaba en el navegador del usuario al mismo tiempo que las sentencias iban descargándose junto con el código HTML. Lo que quería Netscape es que JavaScript fuera un lenguaje de guiones, fácil de usar y que cualquier persona pudiera utilizarlo. Después de 2 años JavaScript se convirtió en una de las herramientas más utilizadas por los desarrolladores web, utilizándose casi en el 90% de los desarrollos web, incluso más que Java y Activex

Netscape introdujo una implementación de script del lado del servidor con Netscape Enterprise Server, lanzada en diciembre de 1994 (poco después del lanzamiento de JavaScript para navegadores web)

En el año de 1996 Microsoft empezó a mostrar gran interés en competir con JavaScript por lo que lanzó el lenguaje llamado Jscript, que era la implementación de ECMAScript, muy similar al JavaScript de Netscape, pero con ciertas diferencias en el modelo de objetos del navegador que hacian a ambas versiones incompatibles. Pero la versión 4.0 del Internet Explorer soportaba sin ningún problema, la versión 1.1 de JavaScript. Sin embargo, Jscript no pudo competir directamente con Javascript

A mediados de 1997, Netscape promocionó JavaScript y lanzó la versión 1.2. Esta nueva versión incluía nuevos componentes que daban gran potencial al lenguaje, pero lamentablemente esta versión solo funcionaba en la última versión del Navigator. Los autores propusieron que fuera adoptado como estándar de «the European Computer Manufacturer’s Association» (ECMA, con la implementación ECMAScript), que a pesar de su nombre no era europeo sino internacional, con sede en Ginebra. Poco después también fue propuesto como un estándar ISO

La versión 1.3 fue una pequeña revisión de la 1.2, que fue incluida en la versión 4.07 del Netscape Navigator

Para evitar estas incompatibilidades, el World Wide Web Consortium diseñó el estándar Document Object Model (DOM, ó en castellano, Modelo de Objetos del Documento), que incorporan Konqueror, las versiones 6 de Internet Explorer y Netscape Navigator, Opera versión 7, y Mozilla desde su primera versión

A partir de mediados de la década de los 2000, ha habido una proliferación de implementaciones de JavaScript para el lado servidor. Node.js es uno de los notables ejemplos de JavaScript en el lado del servidor, siendo usado en proyectos importantes

La llegada de Ajax devolvió a JavaScript a la fama y atrajo la atención de muchos programadores. Como resultado de esto hubo una proliferación de un conjunto de frameworks y librerías de ámbito general, mejorando las prácticas de programación con JavaScript, y aumentado el uso de JavaScript fuera de los navegadores web, con la proliferación de entornos JavaScript del lado del servidor. En enero de 2009, el proyecto CommonJS fue inaugurado con el objetivo de especificar una librería para uso de tareas comunes principalmente para el desarrollo fuera del navegador web

En junio de 2015 se cerró y publicó el estándar ECMAScript 6 (última versión hasta la fecha) con un soporte irregular entre navegadores y que dota a JavaScript de características avanzadas que se echaban de menos y que son de uso habitual en otros lenguajes como, por ejemplo, módulos para organización del código, verdaderas clases para programación orientada a objetos, expresiones de fecha, iteradores, generadores o promesas para programación asíncrona

Los comentarios en JavaScript

Los comentarios en el código permiten insertar observaciones del autor para describir las distintas partes del programa. El intérprete de JavaScript los ignora y por ello poseen una sintaxis particular

Se distinguen los comentarios en una sola línea, precedidos por la barra oblicua doble // y los comentarios en varias líneas delimitados por los símbolos /* y por */. Por ejemplo:

Identificadores y palabras reservadas

Conocer cuál es la sintaxis de los identificadores y cuales son las palabras reservadas es algo necesario antes de empezar a escribir un programa en un lenguaje de programación determinado

Los identificadores de un lenguaje son la ristra de caracteres que le asignamos a los nombres de variables, constantes, funciones, objetos, etc…, que nosotros definimos en dicho lenguaje, estos son necesarios para poder invocar a dichos elementos en lugares posteriores a su definición

Los identificadores deben seguir las siguientes reglas:

  • El identificador debe empezar por una letra o por el carácter ‘_’
  • Los caracteres siguientes, además de letras o el carácter ‘_’, pueden ser cifras

Hay que tener en cuenta que el uso de mayúsculas o minúsculas no es importante, porque JavaScript no diferencia de los nombres de mayúsculas o minúsculas en los identificadores. Veamos algunos ejemplos de nombres de variables:

Primeramente decir que las palabras reservadas son palabras especiales que se utilizan para aumentar la legibilidad y separar las entidades sintácticas. Estas palabras no pueden usarse como identificadores

A continuación veremos un cuadro en el que se muestran todas las palabras reservadas existentes en JavaScript, estas palabras tienen o tendrán un significado especial dentro del lenguaje:

Palabras reservadas
Abstract
Boolean
Break
Byte
Case
Cath
Char
Class
Const
Continue
Default
Do
Double
Else
Extends
False
Final
Finally
Float
For
Function
Goto
If
Implements
Import
In
Instaceof
Int
Interface
Long
Native
New
Null
Package
Private
Protected
Public
Return
Short
Static
Super
Switch
Synchronized
This
Throw
Throws
Transient
True
Try
Var
Void
While
With