[Indice]


Instrucciones de JavaScript

if( condicion [else] [instrucciones])   Esta es sin duda la instrucción más utilizada en programación. En efecto, raro es el programa, por pequeño que sea, que no la contenga al menos una vez. Su funcionamiento es muy simple: es como un interruptor. Evalua un expresión y si el resultado es true realiza las acciones que tenga programadas, y si es false realiza otras acciones alternativas, o no hace nada, según convenga. Por ejemplo:
var x = 2

   if (x == 3) {
      document.write("x vale 3") 
      }
En este caso, al no devolver true la condición, no se obtiene ningún resultado. Si queremos una alternativa en el caso de false, se escribe:
var x = 2

   if (x == 3) {
      document.write("x vale 3") 
      }
   else {
      document.write("x no vale 3")
      }
Y se obtiene:

x no vale 3

Si la acción a realizar es breve, también puede escribirse en una sola línea:

var x = 2

   if (x == 3) document.write("x vale 3")
Pueden anidarse cuantas instrucciones if sea preciso. Por ejemplo, si se escribe:
var x = 4

   if (x < 3) 
      if (x == 2) document.write("x vale 2") 
      if (x == 1) document.write("x vale 1") 
   else
      if (x == 3) document.write("x vale 3") 
      if (x == 4) document.write("x vale 4") 
      if (x == 5) document.write("x vale 5") 

Y se obtiene:

x vale 4

Cuando escribas anidamientos, recuerda que si las instrucciones a realizar tienen más de una línea, hay que escribir las correspondientes llaves { } para cada grupo de instrucciones en cada if, tal como se ve en el primer y segundo ejemplos.


for()   Esta instrucción crea un bucle, controlado por tres expresiones separadas por   ;  , y seguidas de un bloque de otras instrucciones escritas dentro de un par de llaves { } que se ejecutarán con cada ciclo del bucle. La sintaxis es:

for([contador;] [condicion;] [incremento]) {
   .....
   instrucciones
   ....
}

La primera expresión de los argumentos, contador, define el contador del bucle y lo inicializa. La segunda, condicion, es donde se declara la condición o condiciones que se tienen que cumplir para que el bucle termine. El bucle seguirá ejecutándose hasta que la expresión devuelva true. Y por último, incremento indica el incremento que se aplicará al contador en cada paso. Por ejemplo:

for(var x = 0; x < 5; x++) {
document.write(x)
}

Se obtiene: 01234   Analicemos el ejemplo. La primera expresión de los argumentos, crea e inicializa a cero el contador x: var x = 0;. La segunda establece que el bucle rodará mientras x sea menor de 5: x < 5;. Y la tercera incrementa en 1 el contador con cada ciclo del bucle: x++. Como ya se ha dicho en el apartado de los operadores de JavaScript, x++ es equivalente a x = x+1


for( in )   Al igual que la anterior, crea un bucle, pero esta vez solamente sirve para listar las propiedades de un objeto. Por ejemplo:

Mi_array = new Array(2)
Mi_array[0] = "A"; Mi_array[1] = "B"; Mi_array[2] = "C"

for(var x in Mi_array) {
document.write("Mi_array" + x + " = " + Mi_array[x] + "<br>" )
}

Se obtiene:

Mi_array0 = A
Mi_array1 = B
Mi_array2 = C

Fíjate en que, a diferencia de la anterior, no es necesario inicializar el contador con ningun valor (solamente crearlo) ni tampoco indicar el incremento ni el número de repeticiones del bucle, que se repetirá las veces que indique el índice del objeto.


while( condicion)   Es parecida a for(), pero en lugar de ejecutar el bucle hasta que se cumple la condición, lo hace mientras (while) se mantenga el resultado inicial de la condición, es decir, lo mismo pero al revés. Por ejemplo:


var x = 0

while( x < 3 ) {
   x++
   document.write("x = " + x + "<br>")
}

Se obtiene:

x = 1
x = 2
x = 3

Como puedes ver, el bucle se ejecuta mientras x es menor que 3, no siendo necesario definir en la propia instrucción el incremento del contador, que está dentro de las instrucciones ejecutadas por el bucle.

Tanto while() como for() pueden utilizar una instrucción que permite salir del bucle, si conviene, antes de que se cumplan todas las repeticiones programadas en el contador. Se trata de break. También pueden emplear la instrucción continue para alterar el contador sin detenerlo ni salir del bucle. Veamos un ejemplo de uso de continue:


var x = 0
var y = 0

while (i < 5) {
   x++
   if (x == 3)
      continue
   y += x
   document.write("x = " + x + "  y = " + y + "<br>")
}
Se obtiene:

x = 1   y = 1
x = 2   y = 3
x = 4   y = 7
x = 5   y = 12

Recuerda que x++ es equivalente a   x = x + 1,  lo mismo que   y += x   equivale a   y = y + x.   Sabiendo esto, puedes ver claramente lo que hace el bucle en los dos primeros ciclos. Al llegar a la tercera línea, en la que x = 3 vemos que hay un salto. En efecto: continue ha entrado en acción y el control del bucle ha saltado desde la instrucción comenzando un nuevo ciclo sin ejecutar las dos instrucciones que restaban, y que habrían aportado x = 3   y = 6. Luego el bucle termina normalmente hasta que x = 5, pero los valores de y se han alterado respecto a los que serían sin actuar continue.

De forma parecida trabaja break, pero en este caso en lugar de provocar un salto en el bucle y continuar hasta el final previsto, el salto se hace fuera del bucle, quedando éste interrumpido:


var x = 0

while (i < 5) {
   x++
   if (x == 3)
      break
   document.write("x = " + x +  "<br>")
}
Se obtiene:

x = 1  
x = 2  

Como puedes ver, solamente se han completado dos ciclos del bucle de los cinco previstos. Estas dos instrucciones pueden emplearse de la misma forma con la instrucción for().


this   Es una palabra reservada que se utiliza para referirse al objeto actual en el que se está ejecutando el código. Sea por ejemplo un formulario en el que el cliente debe escribir un valor, y para comprobar que el valor es el correcto escribimos una función de verificación:

<HTML>
<HEAD> <TITLE>Pruebas JavaScript</TITLE>

  <SCRIPT LANGUAGE="JavaScript">
    function validar(numero) {
       if (numero.indexOf("2") != -1)
          return true;
       else {
          alert('No has escrito un 2');
          return false;
       }
    }
  </SCRIPT>
</HEAD>

<BODY>
<FORM NAME="Formulario"
     METHOD="GET" ACTION " "
     onSubmit="return validar(this.campo1.value)">
Escribe un 2: <INPUT NAME="campo1" TYPE="text"><BR>
<INPUT TYPE="submit" VALUE="Validar">
</FORM>

</BODY>
</HTML>
Fíjate en la instrucción   this.campo1.value   En realidad lo que hace this es sustituir a la referencia real que sería: document.Formulario.campo1.value
with   Esta instrucción sirve como referencia a un objeto, previamente declarado como objeto por defecto, para evitar tener que referenciarlo en un conjunto repetitivo de instrucciones. Por ejemplo, para obtener unos valores matemáticos:

    var a, b, c
    var r=10

    a = Math.PI * r * r
    b = r * Math.cos(Math.PI)
    c = r * Math.sin(Math.PI/2)
Como puedes ver, hay que hacer referencia del objeto Math en todas las instrucciones. En cambio, si se emplea with, simplemente se escribe:

    var a, b, c
    var r=10

    with (Math) {
    a = PI * r * r
    b = r * cos(PI)
    c = r * sin(PI/2)
    }

var   ver el apartado variables
function   return   ver el apartado funciones
comment   ver el apartado ¿Cómo se escribe el JavaScript?


[Indice]