Volver a Página Principal











¿ Qué es JavaScript ?
JavaSrcipt es un lenguaje de programación de scripts utilizado principalmente para proporcionar efectos dinámicos a las páginas escritas en HTML. Las instrucciones de JavaScript son interpretadas y ejecutadas por el navegador del cliente en lugar de ser compiladas en el servidor, por lo que el mayor recurso con el que cuenta este lenguaje es con el propio navegador.
Con JavaScript no sólo se pueden establecer efectos especiales a las páginas Web sino que se pueden programar instrucciones que respondan a la acción del usuario, permitiendo la creación de páginas interactivas como programas para calculadoras, agendas o tablas de cálculo. Se pueden desarrollar desde rutinas muy sencillas hasta programas basados em objetos que tengan funciones y estructuras de datos complejas.
El código de JavaScript puede colocarse incrustado entre el código HTML utilizando las etiquetas especiales <SCRIPT> </SCRIPT>, inclusive se pueden introducir varios scripts en el mismo código HTML. También se puede escribir el código JavaScript dentro de determinados atributos de la página, como por ejemplo "onclick", los cuales están relacionados con las acciones del usuario y son llamadas manejadores de eventos. Adicionalmente, también se pueden ejecutar Scripts desde archivos externos con extensión ".js", dónde se colocan una serie de funciones que pueden ser usadas desde la página utilizando la siguiente sintaxis para su declaración: <SCRIPT language=javascript src="archivo_externo.js"> ..... </SCRIPT>

Historia de JavaScript

En sus inicios la Web era un gran sistema de hipertexto , donde cada página contenía enlaces a otras páginas Web, consideradas como las unidades básicas de información. Para diseñar estas páginas con la incorporación de ciertos estilos en los textos presentados, se pensó en un lenguaje de programación del cual surgió HTML.
Con la evolución de la Web y del uso de las páginas, HTML no fue suficiente para cubrir todas las acciones que se pudiesen llegar a requerir para una página Web. Como primer recurso para solventar parte de este inconveniente se utilizó Java, a través de la tecnología de Applets (pequeños programas que se incrustan en las páginas web), esta programación representó un gran avance y Netscape fue el primer navegador en romper la barrera del HTML haciendo posible la programación dentro de las páginas Web.
Luego de haber hecho sus navegadores compatibles con los Applets, inició el desarrollo del lenguaje LiveScript para crear pequeños programas en las páginas con menor complejidad que Java. JavaScript surgió a partir de una alianza con Sun Microsystems para desarrollar en conjunto este nuevo lenguaje.
JavaScript fue desarrollado para ser útil sólo en las páginas web y mucho más facil de usar que Java, por lo que no se necesitan profundos conocimientos de programación para iniciar a trabajar con él. Además, no es necesario contar con un kit de desarrollo, compilar los scripts o desarrollarlos en archivos externos como ocurría con los applets de Java.
El primer navegador que entendía JavaScript fue Netscape 2.0 y fue seguido por los navegadores de Microsoft a partir de la versión 3.0
Diferencias entre Java y JavaScript
JavaScript y Java son dos lenguajes completamente diferentes, aunque tienen nombres similares y comparten la misma sintaxis. A continuación se muestra una tabla comparativa entre Java y JavaScript:

JavaScript
Java
  • Interpretado por el cliente (no compilado )
  • Compilado en el servidor antes de su ejecución en el cliente.
  • Basado en objetos, tiene manejo de objetos y eventos, pero cuenta también con código de programación estructurada, no usa clases ni herencias.
  • Orientado a objetos. Los applets consisten de objetos, clases y herencias.
  • Código integrado e incrustado en las páginas HTML.
  • Los Applets son almacenados en archivos separados del HTML.
  • Las variables no son declaradas de manera obligatoria ni indicado el tipo de dato correspondiente .
  • Las variables deben ser declaradas e indicado el tipo de dato correspondiente .
  • Las referencias a los objetos son verificadas en tiempo de ejecución .
  • Las referencias a los objetos deben existir en tiempo de compilación .
  • No tiene la capacida de escribir en el disco duro , lo  que representa una ventaja de seguridad.
  • No tiene la capacida de escribir en el disco duro , lo  que representa una ventaja de seguridad.
  • Sólo se pueden escribir programas para ser usados en las páginas web.
  • Es un lenguaje de propósito general con el que se pueden desarrollar aplicaciones mas variadas.

Requerimientos para trabajar con JavaScript
Para programar en JavaScript se necesita básicamente lo mismo que para programar páginas web:

  • Un Editor de texto
  • Un navegador compatible con JavaScript
Un simple editor de texto puede ser suficiente en los inicios, no obstante es recomendable utilizar otros programas que ofrecen mayores ventajas al momento de escribir líneas de código, como por ejemplo: HomeSite o UltraEdit.
Versiones de Navegador y JavaScript

JavaScript ha ido evolucionando de igual forma que los navegadores de Internet. A continuación se muestra la relación de las versiones de JavaScript y de los diferentes navegadores que lo soportan:

  • JavaScript 1: nació con Nets cape 2.0
  • JavaScript 1.1: se diseñó con la llegada de los navegadores 3.0, ya incorporaba el tratamiento dinámico de imágenes y el manejo de arreglos de datos.
  • JavaScript 1.2: versión de navegadores 4.0. Tiene la desventaja que es un poco distinta para los navegadores Netscape e Internet Explorer dado que estaban en plena competencia por el mercado.
  • JavaScript 1.3: versión implementada por navegadores 5.0. En esta se han limitado algunas diferencias entre ambos navegadores.
  • JavaScript 1.5: manejada por Netscape 6.
  • Microsoft ha evolucionado hasta presentar la versión 5.5 de JScript (asi llaman al JavaScript utilizado por los navegadores de Microsoft).

Sintaxis JavaScript

Tiene una sintaxis parecida a la de Java y también muy parecida a la de Lenguaje C. Hace diferencia en el tratamiento de mayúsculas y minúscula, lo cual debe tenerse muy en cuenta al momento programar los scripts. Las instrucciones son separadas por punto y coma (;) o por un salto de página, por lo cual sólo deben separarse intrucciones por punto y coma (;) si éstas se encuentran en la misma línea de código.

Variables
Las variables son espacios de memoria destinados a guardar datos que van a ser utilizados durante la ejecución del prógrama.
Cuando se programa en JavaScript no es obligatorio hacer la declaración de las variables antes de usarlas y tampoco definirles un tipo de dato específico, sin embargo es recomendable a los efectos de desarrollar códigos que puedan entenderse y mantenerse fácilmente. Para la declaración de variables en JavaScript se usa la palabra reservada "var" , por ejemplo: var nombrevariable1 .
Cuando se utilizan variables debe tenerse cuidado con el ámbito de validez de las mismas, si una variable no es declarada, será considerada como variable global de la página, por lo cual estará disponible para ser usada en toda la página (desde el script donde se inició o desde cualquier otro dentro de la página). Las variables locales, sólo se pueden usar en la porción de código donde son definidas, bien en un script o en una función. No se pueden u sar variables definidas en otra página.
Otra característica importante es que tampoco es necesario especificarle a las variables el tipo de dato que va a contener, sin embargo, es recomendable con la finalidad de evitar errores que pudiesen ocurrir en la ejecución del script al manipular diferentes tipos de datos para efectuar operaciones.
Tipos de Datos en JavaScript
JavaScript maneja diferentes tipos de datos que pueden ser usados en las variables.

Tipo de Dato
Ejemplo
Tipo Numérico: se utiliza para almacenar números sin importar la precisión que tengan, si son reales o enteros.
Enteros: 100,350,2
Reales: 2.50, 3.40
Notación Científica: 2.60e5
Base 10: sistema numérico por defecto
Base 8: número precedido por 0, p.e.: 056
Base 16: precedido por "0x", p.e.: 0xAF
Cadena de Caracteres: utilizados para almacenar textos y cualquier tipo de caracter (símbolos y números)
variablecadena1="saludos"
variablecadena2="Precio= $45 Desc=10%"
Boleano: utilizados para realizar operaciones lógicas, tienen dos valores permitidos: "true o false"
variableboleana1=true
variableboleana2=false

Operadores en JavaScript
Para hacer cálculos y operaciones sobre las variables dentro de un Script, se utilizan principalmente los siguientes operadores:

Tipo de Operador
Ejemplo
Aritméticos: usados para operaciones matemáticas
 + suma, - resta, * multiplicación, / división, % resto, ++ incremento, -- decremento
De Asignación: usados para asignar valores a las variables
= asignación, += asignación con suma, -= asignación con resta, *= asignación con multiplicación, /= asignación con división, %= asignación con resto
De Cadenas: usados para operaciones de variables de cadenas de caracteres
"+" concatena dos cadenas de caracteres
Lógicos: para realizar operaciones lógicas entre variables de tipo boleano, dan como resultado verdadero o falso
"!" Negación lógica, "&&" Operación Y, multiplicación lógica , "||" Operación O, suma lógica
Condicionales: se utilizan para establecer condiciones por la comparación de valores
== igualdad, != diferencia, > mayor, < menor, >= mayor o igual, <= menor o igual

Estructuras de Control
JavaScript utiliza estructuras de control para la toma de decisiones así como establecer bucles de instrucciones dentro de los scripts, las estructuras principales son las siguientes:
Estructura de Control
Sintaxis
IF: se utiliza para evaluar condiciones y tomar una decisión, si la condición se sumple se ejecutan unas instrucciones y en caso contrario pueden indicarse instrucciones específicas o continuar la ejecución del script.  Para hacer comparaciones más complejas se pueden anidar sentencias if dentro de otras.
if (condición) {
instrucciones
}
else
{
instrucciones

SWITCH: se utiliza para tomar decisiones en función del valor de una variable, estableciendo instrucciones a ejecutar en caso de algunos posibles valores.  También se pueden definir instrucciones por defecto en caso de no cumplirse ninguna de las opciones.
switch (expresión) {
case valor1:
instrucciones a ejecutar
break
case valor2:
instrucciones a ejecutar
break
default:
instrucciones a ejecutar
}
Bucle FOR: usado para repetir instrucciones un determinado número de veces, se utiliza cuando el programador conoce el número de veces que deben ejecutarse las instrucciones. Estos bucles pueden anidarse para lograr funciones más complejas.
for (inicialización, condición, actualización) {
instrucciones a ejecutar en cada iteración
}
Bucle WHILE: se utiliza para repetir la ejecución de instrucciones un determinado número de veces siempre y cuando se cumpla una condición.  Este bucle es usado cuando el programador no conoce el número de iteraciones necesarias y dado que la condición se valida antes de la ejecución, puede ser que en algún escenario no se ejecute ni una iteración de este bucle.
while (condición) {
instrucciones a ejecutar
}
Bucle DO...WHILE: es utilizado para repetir la ejecución de instrucciones igual que el WHILE, pero con la certeza de que siempre va a ejecutarse al menos una iteración, dado que la condición se valida una vez ejecutadas las instrucciones dentro del bucle.
do {
instrucciones a ejecutar
} while (condición)

Funciones de JavaScript

Al igual que otros lenguajes de programación, JavaScript permite la creación de funciones dentro de sus scripts, de manera que permita agrupar porciones de código que cumplen una función específica y son usadas repetidamente dentro de la ejecución del programa, evitando al programador la necesidad de escribir todas las líneas de código cada vez que requiere efectuar esa operación.  Adicionalmente JavaScript ya cuenta con funciones predefinidas como por ejemplo funciones de fecha y hora.
Las funciones en JavaScript son definidas con la siguiente sintaxis:

function nombrefunción () {
instrucciones de la función ....
}

Para ejecutar la función, se indica en la línea de código: nombrefunción ()
Las funciones pueden colocarse en cualquier parte del código, pero es recomendable definirlas antes de ser invocadas dentro de la estructura del programa.  Es importante resaltar que las variables que sean declaradas dentro de las funciones, sólo tendrán como ámbito de acción la propia función, una vez finalizada la ejecución de la función perderá el valor local asignado.  Adicionalmente, pueden definirse funciones con parámetros de entrada para efectuar sus instrucciones y también que devuelvan valores de retorno al sitio de donde son llamadas.  Por ejemplo, se puede asignar a una variable el valor retornado por una función.

Arreglos de datos en JavaScript

Adicionalmente a los tipos de datos definidos anteriormente, JavaScript maneja una estructura más compleja de datos llamada Arreglo, dónde se pueden introducir varios valores como una lista de datos, estos arreglos pueden además ser de múltiples dimensiones, para representar por ejemplo matrices de datos. Esta estructura puede contener datos de diversos tipos: numéricos, cadenas de caracteres, boleanos, etc.
Los arreglos fueron introducidos a partir de la versión 1.1 de JavaScript.  Para poder declarar y manipular los arreglos se utiliza un objeto de JavaScript ya creado e implementado por el navegador, "Array".
Puede encontrar más detalle en el Manual de Programación de JavaScript incorporado en la infografía (primer hipervínculo).



Infografía

1.  Programación en JavaScritp 
Contiene un manual completo con información muy interesante para los programadores principiantes en JavaScript.  En esta página también se encuentra un vínculo para descargar la versión imprimible del manual como se incluye en el vínculo local.

http://www.desarrolloweb.com/manuales/20/

2. Ongoing JavaScript Development 
Una introducción breve a JavaScript resaltando las fundamentales diferencias que tiene con Java.  Este artículo está en ingles.
 
http://www.oocities.org/SiliconValley/Park/3091/introd.htm
3. Manual de JavaScript
Manual de JavaScript, contiene el manejo de funciones y eventos, arreglos de datos y manejo de formularios y marcos dentro de las páginas.

4. Diferencias entre Java y JavaScript
Página que contiene las principales diferencias entre Java y JavaScrtipt .

http://www.begues.net/javascript/6020-diferencias_java_javascript.htm

5. Tutorial de JavaScript 
Tutorial de JavaScript dónde se explica el uso de objetos, eventos, cookies (galletitas) y formularios.

http://www.xente.mundo-r.com/alex/introd.html

6. Tutorial de JavaScript
Completo tutorial de JavaScript: introducción, fundamentos, sintaxis, manejadores de eventos, formularios e imágenes.

http://www.lcc.uma.es/~eat/services/html-js/primpagj.html

7. Manual de JavaScript 
Manual completo de JavaScript en un formato bastante sencillo .

http://148.216.5.25/JavaScriptTut/indice.htm
 
8. JavaScript 
Manual de JavaScript para programadores que se están iniciando en este lenguaje.

http://www.webestilo.com/javascript/

 

                                                                        
                                                                        
     
                                    

PÁGINAS CON EJEMPLOS DE JAVASCRIPT


1. http:// www.a1javascripts.com
Recopilación de scripts escritos en JavaScripts para utilizar en las páginas.

2. http:// www.gamarod.com.ar
Ejemplos de rutinas de JavaScript en español.

3. http://javascript.internet.com
Scripts variados para descargar