2
respostas

Dúvida

Esta é a resolução do professor

<meta charset="UTF-8">
<script>
    function fazPegadinha() {
        alert("Olá");
        alert("amiga!");
        alert("Tá");
        alert("bastante");
        alert("entediada?");
        alert("Em ficar");
        alert("Clicando em");
        alert("Ok");
        alert("né?");
    }

    fazPegadinha();

</script>

E a minha resolução fiz diferente, mas o resultado foi o mesmo. Poderia me explicar se esta correto ou errado e qual a diferença entre as 2 resoluções. Minha resolução:

<meta charset="UTF-8">
<script>
    function fazPegadinha(texto) {
     alert (texto);

     }
        alert("Olá");
        alert("amiga!");
        alert("Tá");
        alert("bastante");
        alert("entediada?");
        alert("Em ficar");
        alert("Clicando em");
        alert("Ok");
        alert("né?");

</script>
2 respostas

Olá, Magali, a diferença é que na versão do professor, ele criou a função fazPegadinha e chamou esta função para ser executada no código (fazPegadinha( ); ). Então, a instrução contida nela foi executada: exibição de cada um dos alertas na tela.

Na sua versão, você criou a função fazPegadinha contendo uma instrução alert (texto); mas, embora o resultado tenha sido o mesmo, ele não foi devido à função que você criou, e sim devido a cada comando alert que você inseriu fora da função. Ou seja, a sua função foi criada, mas não foi chamada para ser executada. Se a função que você criou for chamada, terá como resultado na tela:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Isso porque a função fazPegadinha que você criou, contém apenas a instrução alert (texto);, ou seja, o texto está indefinido. Para que fosse definido, ele deveria estar entre aspas alert ("texto");. Aí, nesse caso, no lugar de undefined, apareceria texto. Entende?

Espero ter ajudado. Bons estudos!

Magali, sua primeira impressão ao abrir a página com os dois códigos é que o resultado gerado foi o mesmo, e nisso você não está errada, mas pense como você faria se quisesse fazer a pegadinha duas vezes sem usar uma estrutura de repetição (while ou for). Na resolução do professor bastaria chamar novamente a função fazPegadinha, enquanto no seu código seria necessário duplicar 9 linhas de forma desnecessária. É interessante você usar a função nesse caso para poder reproduzir o comportamento com mais facilidade se for necessário no futuro.