puedes poner todo dentro del while. Recuerda que simpre que la condicion dentro del while sea verdadera ingresa al bucle
let intentosMaximos = 3;
let intentosActuales = 0;
while(intentosActuales < intentosMaximos){
let inicioDeSesionRegistrado = "Samuel";
let contraseñaRegistrada = "alura321";
let inicioDeSesionIngresado = prompt("Ingrese su usuario");
let contraseñaIngresada = prompt("Ingrese su contraseña");
if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contraseñaRegistrada == contraseñaIngresada ) {
alert("Bienvenido al sistema " + inicioDeSesionIngresado);
break;
} else {
//Si quieres imprimir cuantos intentos lleva debe sumar 1, porque intentosActuales inicia en 0
alert("Inicio de sesión inválido. Favor intente de nuevo\nIntentos actuales: " + (intentosActuales+1));
}
//aca hay un problema, si hace los tres intentos, intentos actuales quedara en 4, por lo tanto no ingresara al if que sigue
//para que ingrese intentosActuales iniciara en 0
intentosActuales++;
}
if(intentosActuales == intentosMaximos){
alert("Intentos maximos alcanzado");
}
o con un for. La buena práctica establece que cuando sabes cuantas veces debes iterar uses el for.
for(var i = 1; i<=3; i++){
var inicioDeSesionRegistrado = "alura";
var contrasenhaRegistrada = "alura321";
var inicioDeSesionIngresado = prompt("Ingrese su usuario");
var 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");
alert("Le restan " + (3-i) + " intentos")
if(i == 3){
alert("Cuenta bloqueada, has superado los 3 intentos")
}
}
}