Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

¿Existe alguna diferencia de performance entre el for y el while?

Comparto la forma en que estructuré el ejercicio, pero dudé entre utilizar un for o un while. ¿Alguna sugerencia al código?

var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var inicioDeSesionIngresado = prompt("Ingrese su usuario");
    var contrasenhaIngresada = prompt("Ingrese su contraseña");


    for(var intentos= 1 ; intentos < 3; intentos++){
     // ingresa bien
     //intentos = 3;
      if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
            alert("Bienvenido al sistema " + inicioDeSesionIngresado);
            intentos = 3;
        }else {
            alert("inicio de sesión inválido. Favor intente de nuevo");
            var inicioDeSesionIngresado = prompt("Ingrese su usuario");
            var contrasenhaIngresada = prompt("Ingrese su contraseña");

        }  

    }
1 respuesta

Aloha! esta bien tu resolución con la sentencia for.

Es mejor ingresar los dos prompts en el inicio del loop, aun así volvera a pedir ingresar sesión y contraseña, hasta que se completen las instrucciones de los condicionales.

¡Para que te arroje la alerta de "Haz agotado los intentos"!

Solo realiza la siguiente, pequeña modificación:

    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    for(var intentos= 1 ; intentos <=3; intentos++){
        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");

      if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
            alert("Bienvenido al sistema " + inicioDeSesionIngresado);
            intentos = 3;
        }
        else {
            if (intentos>=3) {
                alert("Se te agotaro los intentos");
            }else{alert("Inicio de sesión inválido. Favor intente de nuevo");

            }
        }  
    }