INSTITUTO TECNOLÓGICO DE CERRO AZUL
Programación web
Elementos de programación
SINTAXIS
El lenguaje Javascript tiene una sintaxis muy parecida a la de Java por estar basado en él. También es muy parecida a la del lenguaje C.
La sintaxis de un lenguaje de programación se define como el conjunto de reglas que deben seguirse al escribir el código fuente de los programas para considerarse como correctos para ese lenguaje de programación.
ESPACIOS EN BLANCO
No se tienen en cuenta los espacios en blanco y las nuevas líneas: como sucede con XHTML, el intérprete de JavaScript ignora cualquier espacio en blanco sobrante, por lo que el código se puede ordenar de forma adecuada para entenderlo mejor (tabulando las líneas, añadiendo espacios, creando nuevas líneas, etc.) Sin embargo, en ocasiones estos espacios en blanco son totalmente necesarios, por ejemplo, para reparar nombres de variables o palabras reservadas. Por ejemplo:
var that = this;
COMENTARIOS
JavaScript ofrece dos tipos de comentarios, de bloque gracias a los caracteres /* */ y de línea comenzando con //. El formato /* */de comentarios puede causar problemas en ciertas condiciones, como en las expresiones regulares, por lo que hay que tener cuidado al utilizarlo. Por ejemplo:
/*
var rm_a = /a*/.match(s);
*/
provoca un error de sintaxis. Por lo tanto, suele ser recomendable utilizar únicamente los comentarios de línea, para evitar este tipo de problemas.
VARIABLES
En JavaScript se usa la palabra reservada var para declarar variables. A diferencia de un lenguaje compilado, no es necesario indicar el tipo de la variable. Esto se deduce del contexto, al usar la variable el interprete ya sabrá de que tipo es.
Ejemplo:
var variable;
variable = 37; //la uso como si fuera de tipo entero
variable = “hola”; //la uso como una cadena de caracteres
Los arrays se construyen en tiempo de ejecución, no siendo necesario especificar su tamaño.
var arrayDeCadenas = new Array();
arrayDeCadenas[1] = "Primera cadena";
arrayDeCadenas[2] = "Segunda cadena";
//Los elementos del array pueden ser de cualquier tipo
TIPOS DE VARIABLES
JavaScript divide los distintos tipos de variables en dos grupos: tipos primitivos y tipos de referencia o clases.
.
TIPOS PRIMITIVOS
JavaScript define cinco tipos primitivos: undefined, null, boolean, number y string. Además de estos tipos, JavaScript define el operador typeof para averiguar el tipo de una variable.
VARIABLES DE TIPO UNDEFINED
El tipo undefined corresponde a las variables que han sido definidas y todavía no se les ha asignado un valor:
var variable1;
typeof variable1; // devuelve "undefined"
VARIABLES DE TIPO NULL
Se trata de un tipo similar a undefined, y de hecho en JavaScript se consideran iguales (undefined == null). El tipo null se suele utilizar para representar objetos que en ese momento no existen.
var nombreUsuario = null;
VARIABLES DE TIPO BOOLEAN
Se trata de una variable que sólo puede almacenar uno de los dos valores especiales definidos y que representan el valor "verdadero" y el valor "falso".
var variable1 = true;
var variable2 = false;
Los valores true y false son valores especiales, de forma que no son palabras ni números ni ningún otro tipo de valor. Este tipo de variables son esenciales para crear cualquier aplicación, tal y como se verá más adelante.
Cuando es necesario convertir una variable numérica a una variable de tipo boolean, JavaScript aplica la siguiente conversión: el número 0 se convierte en false y cualquier otro número distinto de 0 se convierte en true.
Por este motivo, en ocasiones se asocia el número 0 con el valor false y el número 1 con el valor true. Sin embargo, es necesario insistir en que true y false son valores especiales que no se corresponden ni con números ni con ningún otro tipo de dato.
NÚMEROS
En JavaScript únicamente existe un tipo de número. Internamente, es representado como un dato de 64 bits en coma flotante, al igual el tipo de dato double en Java. A diferencia de otros lenguajes de programación, no existe una diferencia entre un número entero y otro decimal, por lo que 1 y 1.0son el mismo valor. Esto es significativo ya que evitamos los problemas desbordamiento en tipos de dato pequeños, al no existir la necesidad de conocer el tipo de dato.
CADENAS DE TEXTO
Las variables de tipo cadena de texto permiten almacenar cuaquier sucesión de caracteres, por lo que se utilizan ampliamente en la mayoría de aplicaciones JavaScript. Cada carácter de la cadena se encuentra en una posición a la que se puede acceder individualmente, siendo el primer carácter el de la posición 0.
El valor de las cadenas de texto se indica encerrado entre comillas simples o dobles:
var variable1 = "hola";
var variable2 = 'mundo';
var variable3 = "hola mundo, esta es una frase más larga";
Las cadenas de texto pueden almacenar cualquier carácter, aunque algunos no se pueden incluir directamente en la declaración de la variable. Si por ejemplo se incluye un ENTER para mostrar el resto de caracteres en la línea siguiente, se produce un error en la aplicación:
var variable = "hola mundo, esta es una frase más larga";
La variable anterior no está correctamente definida y se producirá un error en la aplicación. Por tanto, resulta evidente que algunos caracteres especiales no se pueden incluir directamente. De la misma forma, como las comillas (doble y simple) se utilizan para encerrar los contenidos, también se pueden producir errores:
var variable1 = "hola 'mundo'";
var variable2 = 'hola "mundo"';
var variable3 = "hola 'mundo', esta es una "frase" más larga";
Si el contenido de texto tiene en su interior alguna comilla simple, se encierran los contenidos con comillas dobles (como en el caso de la variable1 anterior). Si el contenido de texto tiene en su interior alguna comilla doble, se encierran sus contenidos con comillas simples (como en el caso de la variable2 anterior). Sin embargo, en el caso de la variable3 su contenido tiene tanto comillas simples como comillas dobles, por lo que su declaración provocará un error.
Para resolver estos problemas, JavaScript define un mecanismo para incluir de forma sencilla caracteres especiales (ENTER, Tabulador) y problemáticos (comillas). Esta estrategia se denomina "mecanismo de escape", ya que se sustituyen los caracteres problemáticos por otros caracteres seguros que siempre empiezan con la barra \:
Si se quiere incluir... Se debe sustituir por...
Una nueva línea \n
Un tabulador \t
Una comilla simple \'
Una comilla doble \"
Una barra inclinada \\
Utilizando el mecanismo de escape, se pueden corregir los ejemplos anteriores:
var variable = "hola mundo, esta es \n una frase más larga";
var variable3 = "hola 'mundo', esta es una \"frase\" más larga";
OPERADORES
Los operadores permiten manipular el valor de las variables, realizar operaciones matemáticas con sus valores y comparar diferentes variables. De esta forma, los operadores permiten a los programas realizar cálculos complejos y tomar decisiones lógicas en función de comparaciones y otros tipos de condiciones.
ASIGNACIÓN
El operador de asignación es el más utilizado y el más sencillo. Este operador se utiliza para guardar un valor específico en una variable. El símbolo utilizado es = (no confundir con el operador == que se verá más adelante):
var numero1 = 3;
A la izquierda del operador, siempre debe indicarse el nombre de una variable. A la derecha del operador, se pueden indicar variables, valores, condiciones lógicas, etc:
var numero1 = 3;
var numero2 = 4;
/* Error, la asignación siempre se realiza a una variable,
por lo que en la izquierda no se puede indicar un número */
5 = numero1;
// Ahora, la variable numero1 vale 5
numero1 = 5;
// Ahora, la variable numero1 vale 4
numero1 = numero2;
ARITMÉTICOS
JavaScript permite realizar manipulaciones matemáticas sobre el valor de las variables numéricas. Los operadores definidos son: suma (+), resta (-), multiplicación (*), división (/) y módulo (%). Ejemplo:
var numero1 = 10;
var numero2 = 5;
resultado = numero1 / numero2; // resultado = 2
resultado = 3 + numero1; // resultado = 13
resultado = numero2 – 4; // resultado = 1
resultado = numero1 * numero 2; // resultado = 50
resultado = numero1 % numero2; // resultado = 0
numero1 = 9;
numero2 = 5;
resultado = numero1 % numero2; // resultado = 4
Los operadores matemáticos también se pueden combinar con el operador de asignación para abreviar su notación:
var numero1 = 5;
numero1 += 3; // numero1 = numero1 + 3 = 8
numero1 -= 1; // numero1 = numero1 - 1 = 4
numero1 *= 2; // numero1 = numero1 * 2 = 10
numero1 /= 5; // numero1 = numero1 / 5 = 1
numero1 %= 4; // numero1 = numero1 % 4 = 1
LÓGICOS
Los operadores lógicos son imprescindibles para realizar aplicaciones complejas, ya que se utilizan para tomar decisiones sobre las instrucciones que debería ejecutar el programa en función de ciertas condiciones. El resultado de cualquier operación que utilice operadores lógicos siempre es un valor lógico o booleano.
Operador Descripción
&& Y lógico (devuelve verdadero si los dos operandos son verdaderos, y falso en caso contrario)
|| O lógico (devuelve verdadero si uno de los dos operandos o ambos son verdaderos, y falso en caso contrario)
! No lógico (devuelve verdadero si el operando es falso, y falso si es verdadero)
OPERADORES CONDICIONALES
El operador es un operador especial en JavaScript (heredado de C++). Veamos un ejemplo:
(condicion) ? valor1 : valor2
Si la condición es verdadera, la expresión toma el valor 1 y si es falsa el valor 2. Por ejemplo:
(dia=="Domingo") ? "Festivo" : "Laborable"
Ejemplo:
<HTML>
<HEAD><TITLE>Ejemplo operadores</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var pregunta = "¿Cuánto vale 10 + 10?"
var respuesta_correcta = 20
var correcto = "<p>¡CORRECTO!</p>"
var incorrecto = "<p>INCORRECTO</p>"
//realiza la pregunta
var respuesta_dada = prompt(pregunta, "0")
//comprueba la respuesta
var salida = (respuesta_dada == respuesta_correcta) ? correcto : incorrecto
//-->
</SCRIPT></HEAD>
<BODY><SCRIPT LANGUAGE="JavaScript">
<!--
//escribe la salida
document.write(salida)
//-->
</SCRIPT></BODY></HTML>
ESTRUCTURA IF...ELSE
La estructura más utilizada en JavaScript y en la mayoría de lenguajes de programación es la estructura if. Se emplea para tomar decisiones en función de una condición.
if(condicion) {
...
}
ESTRUCTURA SWITCH
La estructura switch es muy útil cuando la condición que evaluamos puede tomar muchos valores. Si utilizasemos una sentencia if...else, tendríamos que repetir la condición para los distintos valores.
ESTRUCTURA FOR
La estructura for permite realizar bucles de una forma muy sencilla.
for (inicializacion; condicion; actualizacion) {
...
}
Bibliografía
http://www.arkaitzgarro.com/javascript/capitulo-5.html
http://platea.pntic.mec.es/jdelucas/javascript.htm
http://librosweb.es/libro/javascript/capitulo_3/variables.html