HTMLpointHTMLpoint HTMLpoint.com


 If...else



La expresión base del control de flujo es:

if(expresión) instrucción
[else instrucción]...

donde la expresión es booleana, es decir, puede asumir los valores true o false. La instrucción principal puede ir seguida de else, que indica una instrucción alternativa que se ejecutará cuando la primera no se haya verificado.

Si hay que efectuar una serie de test se puede iterar el else de esta manera:

if (expresión) {instrucción}
else (expresión) {instrucción}
else (expresión) {instrucción}
else (expresión) {instrucción}.
else instrucción

donde se evalúa la expresión junto a else, que se ejecuta si la expresión es verdadera. En caso contrario, se ejecuta el else final.

Una alternativa de la anterior es la instrucción switch. Su forma sintáctica es:

switch (expresión) {
    case constante1: instrucciones
    break;
    case constante 2: instrucciones
    break;
          ....
    default instrucciones
}

El valor de la expresión se compara con los diversos valores de los case y cuando se encuentra una correspondencia, se ejecuta la instrucción o las secuencias de instrucciones asociadas, aun cuando al case esté asociado un statement vacío o bien un ulterior switch. La instrucción de default es opcional y se ejecuta sólo si no se ha encontrado correspondencia. La instrucción break es opcional, en cuanto permite sólo que el programa salga del ciclo de switch, por lo que si no apareciera el programa continuaría comparando el valor.

Muy válida también la expresión condicional ternario que funde el if...else en un único comando, que es el ?, también conocido como operador ternario.Su forma es (prestad atención a los dos puntos):

Expresión1 ? Expresión2 :Expresión3

donde si es verdad la primera expresión, se ejecuta la segunda; si es falsa, se ejecuta la tercera. Obsérvese el ejemplo:

"He encontrado", counter, (counter==1)?"palabra.":"palabras."

donde si x es mayor que 9 a y se le asignará el valor 100; en otro caso, se le asignará el valor 200.

Un ejemplo muy elegante de operador ternario es el que sirve para determinar el navegador utilizado:

ie=document.all?1:0
n=document.layers?1:0

las expresiones se leen así: Explorer sabe interpretar el comando document.all, Netscape sabe interpretar document.layers y no viceversa, por lo que si el navegador interpreta el comando, entonces será la variable ie o bien n igual a 1.


  Vuelve a principio de página