JavaScript es un lenguaje interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C.
Al contrario que Java, JavaScript no es un lenguaje orientado a objetos propiamente dicho, ya que no dispone de Herencia, es más bien un lenguaje basado en prototipos, ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad.
Todos los navegadores interpretan el código JavaScript integrado dentro de las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del DOM.
El lenguaje fue inventado por Brendan Eich en la empresa Netscape Communications, que es la que fabricó los primeros navegadores web comerciales. Apareció por primera vez en el producto de Netscape llamado Netscape Navigator 2.0.
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 ejecuta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML.
Los autores inicialmente lo llamaron Mocha y más tarde LiveScript pero fue rebautizado como JavaScript en un anuncio conjunto entre Sun Microsystems y Netscape, el 4 de diciembre de 1995.
En 1997 los autores propusieron JavaScript para que fuera adoptado como estándar de la the European Computer Manufacturers' Association ECMA, que a pesar de su nombre no es europeo sino internacional, con sede en Ginebra. En junio de 1997 fue adoptado como un estándar ECMA, con el nombre de ECMAScript. Poco después también lo fue como un estándar ISO.
JScript es la implementación de ECMAScript de Microsoft, muy similar al JavaScript de Netscape, pero con ciertas diferencias en el modelo de objetos del navegador que hacen a ambas versiones con frecuencia incompatibles.
Para evitar estas incompatibilidades, el World Wide Web Consortium diseñó el estándar Document Object Model (DOM, ó Modelo de Objetos del Documento en castellano), que incorporan Konqueror, las versiones 6 de Internet Explorer y Netscape Navigator, Opera versión 7, y Mozilla desde su primera versión.
Dónde y cómo incluir JavaScript en un navegador
Javascript se puede incluir en cualquier documento HTML, o todo aquel que termine traduciéndose en HTML en el navegador del cliente; ya sea PHP, ASP, SVG...
El código va inscrito dentro de los elementos HTML <script> y </script>:
<script type="text/javascript">
// código JavaScript
</script>
Muchos incluyen comentarios HTML para que navegadores antiguos no interpreten el código JavaScript, sin embargo ningún navegador existente hoy en día necesita esta práctica.
Para incluir un archivo externo, bastará con escribir:
<script type="text/javascript" src="[URL]"></script>
Siendo [URL] el url relativo o absoluto apuntando a un archivo con código JavaScript.
Sintaxis del Lenguaje
Case sensitive:
JavaScript es case sensitive, o lo que es lo mismo, diferencia mayúsculas y minúsculas. Es diferente, por tanto, una variable llamada Foo de otra llamada foo.
Comentarios
La sintaxis de los comentarios es la misma de C++, comentarios de bloque delimitados por «/*» y «*/», y comentarios de línea delimitados por «//» y el fin de línea.
Variables
Son espacios de memoria dentro del navegador del cliente a los que se les asigna un nombre de acceso para todo el programa. Se pueden eliminar con el operador delete. Únicamente se pueden borrar las variables declaradas implícitamente (sin el operador var delante). Están asociados a un valor, un objeto o a una función. Hay varios tipos de variables: string, number, object, function, array, boolean...
Operadores
Existen de varios tipos: asignación, aritméticos, lógicos y especiales.
Operador de asignación
El operador de asignación en el lenguaje JavaScript es el símbolo igual, =.
Operadores aritméticos
Los aritméticos son los matemáticos: suma(+), resta(-), multiplicación(*), división(/), y resto de división o módulo (%). El operador + también puede ser utilizado para concatenar strings. Su utilización puede ser:
variable = valor operador valor;
variable operador= valor;
En el primer caso asignamos a la variable variable el resultado de la operación; y en el segundo caso se aplica la operación directamente a la variable variable modificando su valor primitivo, equivaldría a:
variable = variable operador valor;
También existen los aritméticos unitarios que no necesitan de otro valor para actuar a una variable como los aritméticos normales. Son ++, -- y -. ++ Conseguirá sumar una unidad a la variable a la que acompaña. -- Conseguirá el efecto inverso, restará una unidad a la variable que acompaña. - Es el operador unitario negativo, cambiará el signo de la variable a la que acompaña.
Aviso sobre los operadores aritméticos unitarios ++ y --: Un ++ antes de una variable aumentará su valor en una unidad y su aplicación será con el nuevo valor, una unidad aumentada pues. Un ++ después de la variable aumentará el valor de la variable después de su aplicación, es decir, se aplicará con el valor antiguo y después se agregará una unidad. Lo mismo ocurre con --. Ejemplo:
x=10;
y=x++;
Otorgará un valor inicial a la variable x de 10 y a la y de 10. Pero después a x se le suma una unidad, luego x tendrá el valor 11 al terminar la ejecución. Ejemplo2:
x=10;
y=++x;
Aquí a x le otorgamos el valor 10, después le sumamos una unidad y se lo asignamos a y, por lo que las dos variables valdrán 11.
Operadores relacionales
Los relacionales son los que comparan los valores de las variables unos con otros. Devuelven un true o un false dependiendo si son verdaderos o falsos. Son
> Mayor que
>= Mayor o igual
< Menor que
<= Menor o igual
== Igual que (mismo valor sin ser obligatoriamente mismo tipo)
=== Estrictamente igual que (mismo valor y mismo tipo de variable)
!= Distinto que
|