Izabella,
seu código só faz uma tentativa porque você utilizou um comparativo 'if' que atribui valor 3 à variável 'numeroAtual' porque usa '=':
if (numeroAtual= 3)
O correto seria usar '==' para comparar:
if (numeroAtual == 3)
Depois que corrigir isto, seu código passará a perguntar 3 vezes. O problema é que se acertar na primeira ou na segunda tentativa, o código continua a rodar, e solicitará o login e a senha de novo, mesmo se já tiver acertado. Então também terá que acrescentar algo que pare sua execução. Ficaria assim, com as duas correções:
<meta charset="UTF-8">
<script>
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var numeroMax = 3;
var numeroAtual = 1;
while (numeroAtual <= numeroMax) {
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
if(loginCadastrado == loginInformado && senhaCadastrada == senhaInformada) {
alert("Bem-vindo ao sistema " + loginInformado);
numeroAtual = 3;
} else {
if (numeroAtual == 3){
alert("Login inválido");
} else {
alert("tente novamente");
}
}
numeroAtual = numeroAtual + 1;
}
</script>
Fora isto, cabem aqui as mesmas recomendações que fiz em outra postagem, todas de boas práticas:
- procure indentar bem seu código. Neste caso, tudo que vem depois do 'while' ficou um pouco bagunçado;
- use ponto e vírgula em todo fim de linha de comando;
- não deixe espaço entre funções e instruções e seus parênteses de argumentos.
Bons estudos!