Oi Layla, tudo bem?
Rodei o seu código aqui e percebi que está faltando um { no final, para fechar o comando while.
Além disso, o seu comando while está infinito, pois quando o usuário acerta o login, você colocou: tentativas = numeroTentativas
. Mas pense comigo, o número de tentativas será 3 (já que você igualou com a variável numeroTentativas), mas ainda assim vai continuar no loop do while, pois a condição é:
while (tentativas <= numeroTentativas)
3 ainda é <= 3, correto? Por isso, vai ficar infinito! Para corrigir isso, podemos colocar apenas o sinal de menor, sem ser menor igual:
while (tentativas < numeroTentativas)
Agora, 3 não é menor que 3, logo, ele sairá do loop!
Outra observação é que quando o usuário erra seu login e senha, precisamos aumentar o número de tentativas em 1, pois significa que ele errou e vai tentar de novo, portanto o código ficaria assim:
if (loginCadastrado != loginInformado && senhaCadastrada != senhaInformada) {
tentativas = tentativas + 1;
// Ou também tentativas += 1;
// Ou também tentativas++;
if (tentativas == 3) {
alert("Login inválido. Tente novamente");
}
}
Dessa maneira, o número de tentativas aumenta conforme ele erra o seu login.
Espero ter ajudado!