No exercício Simulando tela de login de Lógica de programação I eu compreendi até bem o que estava acontecendo no código. Mas a única coisa que eu não entendi bem, foi a parte das variáveis var loginInformado = prompt("Informe seu login"); e var senhaInformada = prompt("Informe sua senha");. Que neste caso elas estão dentro da condição while. Até aí o código funciona normalmente. Mas depois que eu coloquei essas variáveis fora da condição while juntamente com a variáveis que estão fora da condição while. Depois da primeira vez que o usuário digita a senha ou login errado. O código exibe os prompt "Informe seu login" e "Informe sua senha" apenas uma vez no navegador. E depois na segunda e terceira vez exibe apenas a mensagem do alert "Login inválido" e Tente novamente" e mais nada de Prompt pedindo "Informe seu login" e "Informe sua senha"  . Gostaria de entender o porquê isso acontece nesse caso?
<meta charset="UTF-8">
<script>
    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";
    var maximoTentativas = 3;
    var tentativaAtual = 1;
    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; // acertou, então faço o gasto de todas as tentativas para sair do loop. Lá embaixo vai incrementar + 1! 
        } else {
            if (tentativaAtual == 3) {
                alert("Número permitido de tentativas ultrapassado!");
            } else {
                alert("Login inválido. Tente novamente");
            }
        }
        // vai para a próxima tentativa
        tentativaAtual = tentativaAtual +1
        // abaixo um atalho de ir para a próxima tentativa
        //tentativaAtual++ 
    }
</script>