informaticaPC

Tutorial de JavaScript

Estructuras de control condicionales


Regístrate

Tus datos no serán compartidos, solo nosotros te enviaremos información y novedades

Estructuras o sentencias de control

Las estructuras de control son usadas para controlar el flujo del programa, dividiéndose en condicionales o selectivas (y éstas a su vez simples, dobles y múltiples) y repetitivas o iterativas (se crean bucles en los que el código fuente es repetido varias veces).

Más información

Relacionado: [ Sentencias de control ]

Sentencias de control Condicionales o Selectivas

Para crear sentencias condicionales simples en JavaScript se usa if():

var x = 33;

if( x == 33 )
{
    x = 55;
}

// Se mostraría "Ahora el valor de 'x' es [55]":
alert( "Ahora el valor de 'x' es [" + x + "]" );

Descargar ejemplo

Una sentencia condicional doble en JavaScript se escribe del siguiente modo:

var x = 80;

if( x >= 100 )
{
    alert("Mayor o igual de 100");
}
else
{
    alert("Menor de 100");
}

Descargar ejemplo

Explicación: en caso de que el valor de la variable 'x' sea mayor o igual de 100, o menor de dicho número, se mostrará el mensaje adecuado.

En caso de que al cumplirse una condición sólo deba ejecutarse una instrucción no será necesario escribir las llaves, con lo cual el código JavaScript anterior podría también escribirse así:

var x = 80;

if( x >= 100 )
    alert("Mayor o igual de 100");
else
    alert("Menor de 100");

Con la sentencia if es posible crear también una sentencia condicional múltiple, como puedes ver a continuación:

var x = -80;

if( x >= 100 )
{
    alert("El valor es igual o mayor de 100");
}
else if( x >= 0 )
{
    alert("El valor está entre 0 y 99");
}
else
{
    alert("El valor es negativo");
}

Descargar ejemplo

Explicación: si el valor de la variable 'x' es igual o mayor de cien se mostrará el primer mensaje, si está entre cero y 99 el segundo, y si es negativo (como así sucede en este caso) se mostrará el tercer mensaje.

En caso de que debamos elegir entre varias opciones y cuando sea posible, es más recomendable usar la sentencia condicional switch():

var dia = 3;

switch( dia )
{
    case 1:
        alert("Lunes");
        break;
    case 2:
        alert("Martes");
        break;
    case 3:
        alert("Miércoles");
        break;
    case 4:
        alert("Jueves");
        break;
    case 5:
        alert("Viernes");
        break;
    case 6:
        alert("Sábado");
        break;
    case 7:
        alert("Domingo");
        break;
    default:
        alert("Valor no válido");
}

Descargar ejemplo

También podemos hacerlo así:

var dia = "MIERCOLES";

switch( dia )
{
    case "LUNES":
        alert(1);
        break;
    case "MARTES":
        alert(2);
        break;
    case "MIERCOLES":
        alert(3);
        break;
    case "JUEVES":
        alert(4);
        break;
    case "VIERNES":
        alert(5);
        break;
    case "SABADO":
        alert(6);
        break;
    case "DOMINGO":
        alert(7);
        break;
    default:
        alert("Día no válido");
}

Descargar ejemplo

Entre los paréntesis de switch() debemos poner la variable cuyo valor deseamos comparar, en los case los valores con la que deseamos compararla, y dentro de cada uno de ellos el código que se debe procesar.

Es recomendable usar break dentro de cada case porque cuando se encuentra una coincidencia y se ejecuta el código correspondiente, al contrario que sucede con if se seguirán evaluando las demás opciones (a no ser que finalicemos con break).

En caso de que ninguno de los valores especificados en los case concuerde con el valor de la variable, se procesará el código dentro de default (al ponerlo al final no es necesario usar break).

También podríamos escribir una sentencia condicional del siguiente modo:

var dia = 3;

switch( dia )
{
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        alert("Entre semana");
        break;
    case 6:
    case 7:
        alert("Fin de semana");
        break;
    default:
        alert("Valor no válido");
}

Descargar ejemplo

De este modo, si el valor de 'dia' está entre 1 y 5 o es 6 ó 7 se mostrará si se trata de un día entre semana o de fin de semana.

Por último, también podríamos procesar una sentencia switch() de la forma que te mostramos a continuación, la cual permite evaluar una expresión en cada case:

var dia = 3;

switch( true )
{
    case ( dia >= 1 && dia <= 5 ):
        alert("Entre semana");
        break;
    case ( dia == 6 || dia == 7 ):
        alert("Fin de semana");
        break;
    default:
        alert("Valor no válido");
}

Descargar ejemplo

Primera página Anterior Siguiente Última página
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso