Javascript para todos.

Como todo lenguaje de programaci贸n, existen ciertas palabras que son reservadas y que no podr谩s usar en tus variables como identificadores. A continuaci贸n te muestro una tabla de palabras reservadas del lenguaje. El uso de las palabras reservadas te indicar谩 el nivel de conocimiento que aprender谩s en un curso completo de Javascript.

palabras reservadas

Puedes ver que Javascript tiene una serie de palabras reservadas importantes. De hecho es uno de los lenguajes de scripting que m谩s palabras reservadas tiene.

Las variables son de dos clases: Globales y Privadas.

Globales.
Son las variables que se van a utilizar a lo largo del programa y en cualquier lugar del mismo. Quedan almacenadas en memoria RAM y se pueden consultar mientras se est茅 ejecutando la p谩gina o script. Es importante escribir la palabra reservada var para hacer una variable global (aunque si el script es peque帽o se puede omitir, pero si es recomandable).

Privadas.
Son aquellas que se declaran dentro de una funci贸n, un bloque o estructura y por lo tanto no tienen m谩s 谩mbito que el que le proporciona la llamada a dicha estructura o bloque. Por lo tanto, cuando se sale de dicho bloque o estructura, el controlador borra la variable privada de la memoria RAM.

Funciones.

Las funciones son m茅todos que ejecutan una o varias acciones. Son muy parecidas a los m茅todos del lenguaje, pero con la diferencia de que pueden personalizar acciones del programador, por lo que ofrecen una gran flexibilidad ya que javascript nos permite definir las funciones que queramos.

La sintaxis para crear una funci贸n es la siguiente:

function + identificador ([par谩metros opcionales]){/*c贸digo de la funci贸n*/}

Asi que teniendo el siguiente script:

usar una funci贸n

Puedes ver que cuando escribe alg煤n contenido, al pulsar sobre el bot贸n se muestra tanto el nombre como la edad. Y eso lo hemos hecho teniendo en cuenta que la funci贸n tiene par谩metros. Aunque en realidad funcionar铆a igual sin par谩metros.

Cuando se utiliza una funci贸n con par谩metros se quiere indicar a la llamada de esa funci贸n a los valores con par谩metros para que ejecuten la acci贸n.

llamada a la funci贸n por par谩metros

Return.
Y puedes llamar desde cualquier parte del script a la funci贸n e introducir valores que tu quieras siempre que devuelvas el valor de la funci贸n con return. Eso te garantiza que la funci贸n se ejecute y devuelva los valores tal cual vimos en la pr谩ctica de la primera clase:

llamada a la funci贸n

Estructuras de control.

Todo lenguaje de programaci贸n tiene una serie de estructuras ligadas a su programaci贸n. Desde el punto de vista morfol贸gico existen las siguiente estructuras en Javascript:

● Rutinas.
● Bucles.
● Condicionales.
● Arrays.
● Funciones.

Las rutinas son piezas de programaci贸n que se repiten en varios puntos del programa. Se escriben una sola vez y se invocan desde los puntos en que sean necesarios.

Los bucles sirven para efectuar iteraciones sobre una lista de elementos. Se a帽ade unbucle al contador, una condici贸n y una acci贸n para que se repita la acci贸n a repetir.

Los condicionales permiten consultar al programa por una condici贸n espec铆fica. Si el programa responde con TRUE, se ejecutara una parte diferente de que si responde con FALSE. Se pueden anidar estructuras condicionales y bucles.

Los arrays, permiten disponer de una serie de elementos u objetos de forma que se puedan manipular unitariamente.

Las funciones son rutinas que pueden activarse desde cualquier punto del programa, con solo invocar su nombre.

Arrays.
Para definir un array se utiliza el siguiente constructor de matrices:

var identificador = new Array();

Y se pueden asignar valores al array de diferentes maneras. La primera es crear una estructura para cada elemento del array, indicando el valor del array y el valor del contenido (usando la sintaxis del []). Y la segunda es crear el valor en la misma l铆nea mediante el constructor de llaves:

dos formas de crear arrays

Una vez definido el array, ya puede utilizarse e invocar a sus miembros. Podemos invocar cualquier elemento del array simplemente llamandolo entre par茅ntesis:

matriz[1]; //guardar谩 el valor 1 en memoria.

NOTA: El primer elemento del array es siempre el elemento cero. Aunque sea el primer elemento (en posici贸n del array), la posici贸n absoluta es el cero. El siguiente elemento ser谩 el uno, el siguiente el dos, etc., etc. As铆 un array var pagina = [1,2,3,4]; tendr谩 4 elementos siendo el valor del elemento [0]=1; el elemento [1]=2; el elemento [2]=3 y el elemento [3]=4. Que no te enga帽en; el elemento cero tiene valor y por lo tanto ocupa una posici贸n en memoria y es un elemento.

En proximas clases ampliaremos el objeto Array(), viendo sus m茅todos y propiedades.

El valor null.
Este valor indica en javascript que no existe algo. Si el valor de una variable del programa se convierte a null a la hora de usarla es que esa variable en dicho momento no ha cogido ning煤n valor y muestra null.

elemento en null

Observa que no he establecido un valor al elemento, por lo que cuando ejecuto el script se carga la alerta ya que no se puede establecer el valor de la variable mensaje. Sin embargo si establezco un texto en la variable o le doy alg煤n valor, ya no ejecutar谩 el bloque ELSE del condicional.

Undefined.
Esta expresi贸n es utilizada por javascript cuando se encuentra las situaciones siguientes:

● Una variable que no existe, y ha sido invocada.
● Una variable que ha sido invocada y no se la ha a帽adido valor alguno.
● Una propiedad del objeto que no existe o que no ha sido definida al crear el objeto.

Operadores y estructuras.

Las acciones de una declaraci贸n del c贸digo son efectuadas por los operadores. Por ejemplo:

a + b = c;

El operador (+) efect煤a la suma de los operando a y b y deposita el resultado en c. Los operadores se agrupan en varias categor铆as:

● Operadores aritm茅ticos.
● Operadores de comparaci贸n.
● Operadores de conjunci贸n.
● Operadores de asignaci贸n.
● Operadores bol茅anos.
● Operadores de bits.

Aritm茅ticos.
Estos son los operadores m谩s conocidos por su uso matem谩tico. La siguiente tabla puedes ver el tipo de operadores.

tabla de operadores aritmeticos

El signo igual(=) no pertenece a los operadores aritm茅ticos, sino a los de asignaci贸n. Esto se debe a que hay que interpretar este signo como que a la variable se le asigna lo que viene a la derecha del signo igual.

Operadores de comparaci贸n.
Sirven para hacer comparaciones tanto con expresiones matem谩ticas como con cadenas literales. El resultado que retraen es booleano, true o false.

operadores de comparaci贸n

Tambi茅n existen otros valores como:

● === estrictamente igua a. Que compara el valor de los operadores al otro lado de la igualdad.
● !== estrictamente no igual a. Que invierte el valor anterior.

Operadores de asignaci贸n.
Los operadores de asignaci贸n asignan un valor al operando de la izquierda. El valor ser谩 el que se encuentra a la derecha del signo de asignaci贸n.

operadores de asignaci贸n

Operadores l贸gicos.
Todo lenguaje de programaci贸n orientado a objetos tiene este tipo de operadores que son muy 煤tiles en programaci贸n. sirven para realizar comparaciones l贸gicas entre variables o cadenas.

operadores l贸gicos y sus usos

Otros operadores.
Son muchos los recursos que tiene Javascript para su uso. A continuaci贸n te muestro otra tabla de operadores.

operadores varios

Adem谩s existen otros tipos de operadores que son importante en Javascript. Esos son los operadores de objeto.

Operadores de objetos.

Estos operadores son especiales, ya que permiten manipular ciertas condiciones de los objetos, variables y propiedades. A continuaci贸n repasaremos los operadores mas comunes que se pueden encontrar en Javascript.

typeof.
Este operador tiene la capacidad de investigar el tipo de dato que contiene una variable. Estos pueden ser number, string, boolean, object o indefined.

operador typeof

new.
La mayor铆a de los objetos que se encuentran en Javascript disponen de una funci贸in para invocarlos. Esta funci贸n utiliza el operador new y est谩 contenida en el lenguaje como palabra clave. Su sintaxis es:

var fecha = new Date();

delete.
Los elementos de un array, o las propiedades de un objeto, no contienen un metodo para eliminarlos. Podemos hacer que un elemento quede sin valor o vaciarlo con null o una cadena vac铆a (""), pero no podemos eliminarlo. Pero este operador permite eliminar el elemento en cuesti贸n. Por ejemplo para eliminar el item 2 del array siguiente:

var matriz = [1,2,3,4]; delete matriz[2]; //en memoria: 1,2,,4

this.
Este operador permite referirse al objeto mismo en el que est谩n localizadas las sentencias, es decir, a la instancia del objeto prototipo.

<input type="text" onChange="funcion(this)">

instanceof.
Muchas veces queremos asegurarnos que una instancia venga de un objeto determinado. En primer lugar recordemos que una instancia es una aplicaci贸n particular de un objeto general. Por ejemplo:

var x = new Array(1, 2, 3);

El propio array x, es una instancia del objeto predefinido Array(n) que nos sirve para crearlo. Por lo que si hacemos:

x instanceof Array

Nos devolver谩 true, ya que x pertenece al objeto array y por tanto devuelve un true. Este operador nos servir谩 pues, para hacer comparaciones.

void.
El operador void especifica una expresi贸n que se eval煤a sin devolver un valor. El par茅ntesis rodeando la expresi贸n es opcional, pero usarlos es una buena pr谩ctica al programar. Por ejemplo si queremos ejecutar un javascript en un hiperv铆nculo HTML podemos usar este operador.

<a href="void (javascript:funcion)">

Puede usar el operador void para especificar una expresi贸n como un enlace de hipertexto. La expresi贸n se eval煤a pero no se carga en lugar del documento actual.

with.
Con este operador nos ahorraremos mucho c贸digo fuente ya que nos permitir谩 establecer una referencia al objeto sobre el cual queremos hacer referencia, de tal forma que cuando llamemos al objeto nos ahorremos llamar a todos los elementos previos de dicho objeto (propiedades, comandos, etc.). La sintaxis es la siguiente:

with (objeto) { //comandos...}