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

Java Script

Bom dia! Me surgiu a seguinte dúvida referente ao código abaixo::

    <script>
        function pulalinha() {

            document.write("<br><br>");
        }
        function mostra(frase){
            document.write(frase);
            pulalinha();
        }
        var ano = 2016;
        mostra("Flávio tem " + (ano - 1977) + " anos");
        mostra("Joaquim tem " + (ano - 1996) + " anos");
        ano = 2017;
        mostra("Barney tem " +  (ano - 1976 ) + " anos");

    </script>

No código acima existem duas funções uma para pular linha e a outra pega as informações que eu declarar e exibe na tela. Eu poderia ao invés de seguir o padrão acima, criar uma função dentro de outra ? Caso seja possível poderiam me dar um exemplo?

2 respostas
solução!

Acredito que o seu objetivo seja criar algo como este exemplo abaixo:

        function mostra(frase){

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

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

Onde temos a função pulaLinha() dentro da função mostra(); O código esta funcionando bem, mas, você tem que prestar atenção em uma coisa.

Veja que o código que executa a função pulaLinha(), esta escrito no final do código, é muito importante que você declare antes a função e depois declare a chamada dela, pois o JavaScript faz a leitura do código de cima para baixo.

Outro caso, é você declarar a instrução que pula a linha e a instrução que escreve a frase, todas dentro de uma só função:

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

Veja que eliminei a função pulaLinha(), e apenas escrevi a instrução document.write(""); na última linha.

Neste caso também funciona bem, mas, veja assim. Qual o verdadeiro propósito de uma função?

Economizar código é um deles, se pudermos criar uma função para cada procedimento que tivermos em um sistema, vamos poder executar este procedimento escrevendo apenas uma linha, que é a chamada da função.

Do contrário vamos ter que repetir todo o código da função toda a vez que precisarmos dela.

Mas claro que isso vai ficar a seu critério.

Abraço!

Eu estava quebrando minha cabeça com isso, foi muito esclarecedor obrigada.