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

Anos com Copas - Declaração de Variáveis.

Boa noite.

Fiz a atividade dos anos e copas utilizando duas funções para finalidades diferentes. Mas durante a criação do código, "acidentalmente" percebi que as variáveis não precisam ser necessariamente declaradas. Procede? Exemplo: Na linha 19 eu havia declarado a variável: var msgFbck = (" ");

Depois a comentei para ajustar outros trechos. Ficando assim: //var msgFbck = (" "); Mesmo assim o código continuou funcionando.

Se alguém puder explicar, agradeço.

<meta charset="UTF-8">

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

    function mostraAlert(msg){
        alert(msg);
        pulaLinha();
    }

    function mostraPrint(msg){
        document.write(msg);
        pulaLinha();
    }

    function verifAnoCopa(anoAtual, anoCopa, anoUser){
        //var msgFbck = (" ");
        if((anoUser < anoCopa) || (anoUser > anoAtual)) {
            msgFbck = alert("Você deve inserir um ano entre 1930 e 2021.");
        }else{
            while ((anoCopa <= anoAtual) && (anoCopa <= anoUser)){
                if(anoCopa == anoUser){
                    msgFbck = ("Sim! Em " + anoUser + " teve copa.");
                }else{
                    msgFbck = ("Não! Em " + anoUser + " não teve copa.");
                    }
                anoCopa = anoCopa + 4;
            }
        }
        mostraAlert(msgFbck);
    }

    function procAnosCopa(anoAtual, anoCopa, anoUser){
        document.write("Os anos que tiveram copa de " + anoCopa + " até " + anoUser + " são:");
        document.write("<br><br>");
        while ((anoCopa <= anoAtual) && (anoCopa <= anoUser)){
            msgFbck = anoCopa;
            mostraPrint(msgFbck);
            anoCopa = anoCopa + 4;
            }
        }

    var anoAtual = 2021;
    var anoCopa = 1930;
    var anoUser = parseInt(prompt("Insira um ano de 1930 a 2021 para saber se teve copa."));

    verifAnoCopa(anoAtual, anoCopa, anoUser);
    procAnosCopa(anoAtual, anoCopa, anoUser);
</script>
1 resposta
solução!

Marlos,

Uma variável declarada irá funcionar de forma extremamente semelhante a uma variável declarada, exatamente por esse motivo que o seu código continou funcionando da mesma maneira.

Porém há algumas diferenças, dê uma olhada nesse post: https://stackoverflow.com/questions/15985875/effect-of-declared-and-undeclared-variables