Hola, en mi caso decidi usar un ciclo while. Y agregar un nuevo if
para verficar si ya se llego al limite de intento, y que de esta manera, el mensaje de error, sea diferente.
<meta charset="utf-8" />
<h1>PROGRAMA INICIO DE SESION</h1>
<script>
var inicioDeSesionRegistrado = "alura";
var contrasenhaRegistrada = "alura321";
var inicioDeSesionIngresado = "";
var contrasenhaIngresada = "";
var limiteDeIntentos = 3;
var intentosInicioSesion = 1;
while( intentosInicioSesion <= limiteDeIntentos ) {
inicioDeSesionIngresado = prompt("Ingrese su usuario").toLocaleLowerCase();
contrasenhaIngresada = prompt("Ingrese su contraseña").toLocaleLowerCase();
if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
alert("Bienvenido al sistema " + inicioDeSesionIngresado);
break;
} else if(intentosInicioSesion === limiteDeIntentos) {
alert("inicio de sesión inválido. Ha superado el limite de intentos, por intentelo mas tarde.");
} else {
alert("inicio de sesión inválido. Favor intente de nuevo");
}
intentosInicioSesion++
}
</script>