Ir directamente al contenido de esta página

codexexempla.org

Estructuras condicionales

Tabla de contenidos

  1. Introducción
  2. if … else
  3. switch
  4. Operadores lógicos

Introducción

Un script consiste en una lista de enunciados que se van ejecutando a medida que se cargan. Sin embargo, en ocasiones nos interesa controlar el flujo de la ejecución estableciendo alternativas, es decir, que una serie de enunciados se ejecuten en algunas ocasiones y en otras no. Para permitir esto existen las estructuras condicionales.

if … else

Por medio de if se puede indicar una condición que, de cumplirse, permite la ejecución de uno o más enunciados. Por medio de else se puede establecer una alternativa, aunque su uso es opcional.

La sintaxis de esta estructura es la siguiente:


    if(condición){
        …enunciados a ejecutar si se cumple la condición…
    } else {
        …enunciados a ejecutar si NO se cumple la condición…
    }
            

Por ejemplo, supongamos que queremos lanzar una advertencia si el valor de una variable es mayor que 100, y otra si es mayor:


    if (variable_a_comparar>100){
        alert("El valor de la variable es mayor que 100");
    } else {
        alert("El valor de la variable es menor o igual que 100");
    }
            

Además, las instrucciones se pueden concatenar:


    if (variable_a_comparar>100){
        alert("El valor de la variable es mayor que 100");
    } else if (variable_a_comparar==100){
        alert("El valor de la variable es exactamente 100");
    } else {
        alert("El valor de la variable es menor que 100");
    }
            

Se pueden concatenar tantos else if como se quiera, pero cuando se trata de analizar el valor de una variable suele ser más efectivo emplear la estructura condicional que veremos a continuación.

switch

Por medio de switch se puede listar una serie de bloques de enunciados que se ejecuten dependiendo del valor de una variable.

La sintaxis sería:


    switch (variable){
        case(valor1):
            …enunciados a ejecutar para ese valor…
            break;
        case(valor2):
            …enunciados a ejecutar para ese valor…
            break;
        case(valor3):
            …enunciados a ejecutar para ese valor…
            break;
        default:
            …enunciados a ejecutar cuando el valor no 
            coincida con ninguno de los anteriores…
            break;
    }
            

Por ejemplo, supongamos que analizamos el valor de una variable y que dependiendo de éste lanzamos un mensaje de alerta:


    switch (nombrePersonaje){
        case('Harry Mason'):
            alert('El protagonista del primer «Silent Hill»');
            break;
        case('James Sunderland'):
            alert('El protagonista de «Silent Hill 2»');
            break;
        case('Maria'):
            alert('Protagonista de «Silent Hill 2: Born from a Wish»');
            break;
        case('Heather Mason'):
            alert('Protagonista de «Silent Hill 3», hija de Harry Mason');
            break;
        case('Henry Townshend'):
            alert('Protagonista de «Silent Hill 4: The Room»');
            break;
        case('Travis Grady'):
            alert('Protagonista de «Silent Hill Origins»');
            break;
        default:
            alert('El nombre no corresponde a ningún protagonista de «Silent Hill»');
            break;
    }        
            

break indica que el bloque de código puede dejar de interpretarse cuando se haya dado una coincidencia.

La especificación de default: es opcional. En este caso, si no se emplease simplemente no se lanzaría ninguna alerta en caso de que el valor de nombrePersonaje no coincidiese con ninguno de los nombres recogidos en switch.

Operadores lógicos

Los operadores lógicos amplian las posibilidades de establecer condiciones. Son:

Operadores lógicos, sus significados y su sintaxis
Operador Significado Sintaxis
! Negación
if(!condición1) { 
        …enunciados…
    }
    // los enunciados se ejecutan 
    // si no se cumple la condición
&& Y
if((condición1)&&(condición2)) {
        …enunciados…
    }
    // los enunciados se ejecutan 
    // si se cumplen ambas condiciones
|| O
if((condición1)||(condición2)) {
        …enunciados…
    }
    // los enunciados se ejecutan 
    // si se cumple una de las condiciones

En el caso de !, se emplea cuando lo que se quiere comprobar no es la existencia de un objeto o variable, sino su no existencia. Por ejemplo, si queremos comprobar que no existe la variable a porque no ha sido declarada, el código sería:


    if (!a){
        …lo que se desee hacer en caso de su no existencia…
    }
            

Para los otros dos operadores —&& y ||—, cada condición que se quiera establecer debe ir entre paréntesis. Por ejemplo, la siguiente condición:


    if(((a/2)>0)&&((a%2)==0)) { alert("El número es un par positivo."); }
            

haría que sólo se mostrase la alerta en caso de que a sea eso, un número par positivo.

Ejemplos concretos de estas estructuras condicionales los veremos conjuntamente con los ejemplos de la sección sobre funciones.

Contacto

En virtud de la Ley Orgánica 15/1999 de Protección de Datos de Carácter Personal le informo de que los datos que proporcione no serán empleados para otro fin que el de responder a su mensaje. En especial, me comprometo a no cederlos a terceros ni a emplearlos para enviar información no solicitada.

Del blog de Digital Icon