Na minha primeira tentativa eu escrevi o código da seguinte forma :
<meta charset="UTF-8">
<script>
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
var tentativaAtual = 1
var maximoTentativas = 3;
while (tentativaAtual <= maximoTentativas) {
loginInformado;
senhaInformada;
if(loginCadastrado == loginInformado && senhaCadastrada == senhaInformada) {
alert("Bem vindo ao sistema " + loginInformado);
tentativaAtual = maximoTentativas;
}else {
if(tentativaAtual == 3) {
alert("Número permitido de tentativas ultrapassado");
} else {
alert("Login inválido. Tente novamente");
}
}
tentativaAtual = tentativaAtual + 1
}
</script>
Percebi que na resolução do instrutor ele coloca a variável dentro do parâmetro do "while", fiz da forma acima achando que daria o mesmo resultado mas o loop não acontece quando a senha e login não bate, o comando prompt não ativa e a caixa de interação não aparece novamente. Sei o que errei mas não sei o motivo de não funcionar sendo que a variável está designando o comando "prompt"
Se o programa está escrito da forma abaixo funciona como pedido :
<meta charset="UTF-8">
<script>
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var tentativaAtual = 1
var maximoTentativas = 3;
while (tentativaAtual <= maximoTentativas) {
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
if(loginCadastrado == loginInformado && senhaCadastrada == senhaInformada) {
alert("Bem vindo ao sistema " + loginInformado);
tentativaAtual = maximoTentativas;
}else {
if(tentativaAtual == 3) {
alert("Número permitido de tentativas ultrapassado");
} else {
alert("Login inválido. Tente novamente");
}
}
tentativaAtual = tentativaAtual + 1
}
</script>