Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mudando o sinal para maior ??

<meta charset="UTF-8">

<script>

    function pulaLinha(){
        document.write("<br>");
    }

    function mostra (frase){
        document.write(frase);
        pulaLinha();
    }

    var anoCopa = 1930;
    var limite = parseInt(prompt("Qual é o ano limite"));

    while (anoCopa >= limite){
        mostra (anoCopa + "Tem copa !!");
    }

    anoCopa = anoCopa + 4;

        mostra ("Ufa !! Esses foram os anos de copa até " + limite);

    </script>

1 resposta
solução!

Fala, Leandro! Tudo bem contigo?

O problema ocorre porque o incremento está fora do while

    while(anoCopa <= limite) {

        mostra(anoCopa + " tem copa!");
    }

    anoCopa = anoCopa + 4;

    mostra("Ufa! Esses foram os anos de copa até " + limite);
</script>

Veja que ao rodar dessa forma ele entrará no "looping infinito" e ficará até acabar a memória da sua máquina ou forçar o encerramento.

Quando estipulamos a data limite ele vai perguntar se o anoCopa(1930) é menor que o limite.

SIM!!!

E pergunta de novo: anoCopa(1930) é menor que o limite?

SIM!!!

E não sai disso!

Quando colocamos o incremento, a pergunta muda.

anoCopa(1930) é menor que o limite?

SIM!!

anoCopa(1934) é menor que o limite?

SIM!!!

Até chegarmos a data limite que estipulamos ;-)

Quando o anoCopa for maior que o limite, sai do "looping" e mostra a mensagem final!

    while(anoCopa <= limite) {

        mostra(anoCopa + " tem copa!");
        anoCopa = anoCopa + 4;
    }

    mostra("Ufa! Esses foram os anos de copa até " + limite);

Espero ter ajudado, Leandro!

Um abraço e bons estudos!