2
respuestas

Incio de sesion

<meta charset="UTF-8">
<script>

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

    var inicioDeSesionIngresado = "";
    var contrasenhaIngresada = "";

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

¿por que colocaste esto de esa forma ?, me puedes explicar por favor

var inicioDeSesionIngresado = ""; var contrasenhaIngresada = "";

Hola Yiseth, el compañero en sus líneas :

var inicioDeSesionIngresado = " ";
var contrasenhaIngresada = " ";

Lo que está haciendo es declarando ( creando ) las variables inicioDeSesionIngresado y contrasenhaIngresada y asignandoles el valor " ", este valor sería en la práctica un valor vacío pero en teoría, él en esas líneas esta creando los espacios en memoria. En la práctica esta forma funciona pero al llevarlo al rendimiento del sistema, se recomienda por buenas prácticas declarar las variables cuando se van a usar realmente con el objetivo de no consumir recursos del sistema. Es decir, esas dos líneas se podrían omitir y dejar solamente:

while(intentos <= 3){
        inicioDeSesionIngresado = prompt("Ingrese su usuario");
        contrasenhaIngresada = prompt("Ingrese su contraseña");
        if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
            alert("Bienvenido al sistema " + inicioDeSesionIngresado);
            break;

claramente un algoritmo sencillo como el propuesto no hará mucha diferencia en el rendimiento de memoria pero si hacemos esto con proyectos grandes, sí se puede notar la diferencia de rendimiento.