Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Assim está correto?


<meta charset="UTF-8">
<script>
    function pulaLinha() {

        document.write("<br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";
   var login=0;

 while (login  <= 3) {

    var loginInformado = prompt("Informe seu login");
    var senhaInformada = prompt("Informe sua senha");

   if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

        mostra("Bem-vindo ao sistema " + loginInformado);
    break;

    } else {

        alert("Login inválido. Tente novamente");
    }
       login++;
}
</script>

ps: como posso aprender melhor a utilizacao do break? entendi que é para parar algo quando satisfaz, mas so que como posso entender melhor? obrigada.

2 respostas

Olá, Tainá! Tudo bem? =)

Dando uma olhada aqui, parece que seu código está certinho, sim! A diferença é que você utilizou uma única variável ao invés de duas!

O legal para fixar o conteúdo é justamente fazer uns testes e mudar um pouco o código para ver se você conseguiu entender tudo... Aí se funcionar e você conseguir descrever o que está fazendo, perfeito! =)

Com relação ao break, basicamente o que ele faz é parar um loop... Quando você quer repetir determinado trecho de código várias vezes, você pode usar um for ou um while... Se em determinado momento você não quiser mais que o loop aconteça, você pode usar o break... O que ele vai fazer é parar a execução de todo o loop e seguir para a linha seguinte, após o loop. =)

Conseguiu entender? Espero ter ajudado, mas se ainda tiver alguma dúvida, não deixe de postar por aqui para podermos ajudá-la!

Abraço e bons estudos,

Fábio

solução!

Taina, o break para a execução do laço e sai. Ele interrompe a execução do laço e vai para a linha posterior ao término do laço.

Quando você tem, por exemplo:

var contador = 0;
while (contador <= 5) {
    if (contador == 3) {
        alert("Contador igual a 3");
        break;
    }
    contador++;
}
alert("Saiu do laço while");

A variável contador recebe o valor 0 (zero), começa o laço while e, teoricamente, ela vai de 0 (zero) a 5 (cinco).

Ocorre que, quando a variável contador está com o valor 3, ela entrará no if == 3, será exibida uma mensagem "Contador igual a 3" e, em seguida, o laço while é interrompido pelo break. Isso significa que as demais instruções do laço serão ignoradas, ou seja, o incremento do laço em contador++ e as verificações se a variável contador é menor ou igual a 4 e, em um novo loop, se é igual a 5.

Assim, quando a variável contador estiver com valor 3, será exibida a mensagem "Contador igual a 3", o laço será interrompido, e a próxima instrução após o laço será executada, que é o alert com a mensagem "Saiu do laço while". Ou seja, a variável contador nunca atingirá os valores 4 e 5, pois o laço while foi interrompido pelo comando break antes que isso acontecesse.

Espero ter ajudado.

Abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software