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

Consolidando o conhecimento

Fala galera!

Pra consolidar o conhecimento, fiz esse código aí do zero e quebrei um pouquinho a cabeça porque não dava certo algumas vezes, mas consegui! ufa. Sei que preciso melhorar algumas coisas nele ainda e quem tiver dicas aí pra me ajudar a ter um código mais limpo e funcional, agradeço!

Abraço.

<meta charset="UTF-8">

<script>



    function pulaLinha() {
        // função para pular uma ou mais linhas

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

    function mostra(frase) {
        // função para exibição do conteúdo na tela

        document.write("<big>" + frase + "</big>"); //aqui deixo a frase destacada com a tag <big>
    }


    mostra("VOU DESCOBRIR O ANO QUE VOCÊ NASCEU! DUVIDA?<br>");
    pulaLinha();


    setTimeout(function() {
        //aqui vou criar um delay de 3000 milissegundos para exibir primeiro a mensagem anterior na tela e depois começar a gerar os popups.

    function descubraAno(anoAtual, idade) {
        // função para receber parâmetros e retornar o ano de nascimento do usuário

        return anoNascimento = anoAtual-idade;//após a função receber os parâmetros, vai retornar o cálculo da variável anoNascimento. Nota: isso aqui é o que vai deixar o usuário feliz ao ver que funcionou kkkk
    }

    var nome =prompt("Por favor, informe seu nome:"); //aqui exibi um popup interagindo com o usuário

    descubraAno(prompt("Qual o ano atual?"),
    prompt("Qual idade você completa ou completou esse ano?"));//aqui exibo popup interagindo com o usuário e ao mesmo tempo passando os parâmetros (anoAtual, idade) para a função descubraAno

    var anoNascimento;//declarei a variável, sem isso não funciona.

    mostra("VOU DESCOBRIR O ANO QUE VOCÊ NASCEU! DUVIDA?<br>");
    pulaLinha();//aqui eu coloquei novamente a mensagem porque após os popups essa mensagem sumiu e ainda não descobri como fazê-la permanecer hehe quem puder me ajude aí... obrigado!

    mostra(nome + ", você nasceu em " + anoNascimento + "!");//E por fim, o resultado final! Obs.: comemorei ao chegar aqui e dar certo kkk. 

},3000);

    //Nota: estou aprendendo e aqui é de aprendizagem, então sei que logicamente em algo profissional, os comentários espontâneos da forma descontraída que fiz, não devem ser apresentados. Valeu!
</script>
2 respostas
solução!

Olá Hugo, tudo bem?

Excelente código! Uma dica para fazer com que ele fique um pouco mais limpo e funcional é declarar a variável anoNascimento já atribuindo que ela terá o valor do resultado da função descubraAno. Dessa forma, a função descubraAno não precisa conhecer a variável anoNascimento. O código ficará assim:

<meta charset="UTF-8">

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

    function mostra(frase) {
        document.write("<big>" + frase + "</big>"); 
    }

    mostra("VOU DESCOBRIR O ANO QUE VOCÊ NASCEU! DUVIDA?<br>");
    pulaLinha();

    setTimeout(function() {


        function descubraAno(anoAtual, idade) {
            return anoAtual-idade;
        }

        var nome =prompt("Por favor, informe seu nome:"); 

        var anoNascimento = descubraAno(
            prompt("Qual o ano atual?"),
            prompt("Qual idade você completa ou completou esse ano?")
        );

        mostra("VOU DESCOBRIR O ANO QUE VOCÊ NASCEU! DUVIDA?<br>");
        pulaLinha();

        mostra(nome + ", você nasceu em " + anoNascimento + "!");

    },1000);    
</script>

Rodando aqui eu percebi que podíamos diminuir um pouco os milissegundos do setTimeout para criar o delay de exibição e uma outra dica importante é você estar atento sempre a indentação do código.

Espero ter contribuído. Bons estudos!

Olá Beatriz!

Obrigado pelas dicas! Ajudou sim e muito. Vou me aprimorar mais na indentação também, obrigado!

Abraço.