Olá, consegui resolver o exercício proposto de uma forma diferente da apresentada, na minha resolução criei uma função que analisa os dados inseridos pelo usuário e utilizei a função break, que não foi introduzida até então, que interrompe o programa caso os dados inseridos estejam corretos. Gostaria de compartilhar meu código pois talvez possa ajudar alguém. Sintam-se à vontade para comentar ou expor melhorias, qualquer dúvida estou à disposição!
<meta charset="UTF-8">
<script>
function verifica(loginInformado,senhaInformada) { //verifica os dados inseridos
if(loginInformado != loginCadastrado || senhaInformada != senhaCadastrada){
return(false); //retorna que os dados inseridos estão incorretos
}
else{
return (true); //retorna que os dados inseridos estão corretos
}
}
//declarando as variáveis:
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
var contador = 1
while(contador < 3 ){
if(verifica(loginInformado, senhaInformada) == true){ // se os dados inseridos estiverem corretos
alert("Bem-vindo ao sistema " + loginInformado); //login bem sucedido
break;
}
if(verifica(loginInformado, senhaInformada) == false){ // se os dados inseridos estiverem incorretos
loginInformado = prompt("Os dados inseridos estão incorretos, por favor, informe seu login novamente.");
senhaInformada = prompt("Informe sua senha"); //pede para que os dados sejam inseridos novamente
verifica(); //verifica os novos dados, importante caso o usuário acerte na ultima tentativa
contador++
}
}
document.write("FIM.");
</script>