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

Erro javascript

Qual seria o problema neste código, eu tentei visualizar e realmente funcionou porém não apresentou erros no console javascript.

Na tela apareceu da seguinte forma :

Eu nasci em : 1987function () { document.write(" "); }Adriano nasceu em : 1986function () { document.write(" "); }Paulo nasceu em : 1980function () { document.write(" "); }

<meta charset="UTF-8">
<script>
        var ano = 2012;
        var pulalinha = function() {
                        document.write("<br>");
        }
        var mostrar = function() {
                      document.write("Eu nasci em : " + (ano - 25) + pulalinha);
                      document.write("Adriano nasceu em : " + (ano - 26) + pulalinha);
                      document.write("Paulo nasceu em : " + (ano - 32) +  pulalinha);
        }

        mostrar();
</script>

Sei que não está ligado ao ensino atual, mas no vídeo pediu para experimentar novas formas. Alguma coisa eu deixei passar ? Alguma regra que eu tenha esquecido?

2 respostas
solução!

Oi Ana Paula,

o que está acontecendo aí é que ele está imprimindo o que deve e depois sempre mostra:

function () { document.write(" "); }

Se a gente indentar direitinho, dá pra ver que o que aparece é:

function () {
    document.write(" ");
}

... que é exatamente o conteúdo da função pulaLinha.

Então, o que está rolando é que ele está mostrando o conteúdo da função pulaLinha em vez de chamá-la. :-)

Para corrigir, basta chamar a função, usando os parênteses: pulaLinha()

Aí, cada linha fica assim:

    document.write("Eu nasci em : " + (ano - 25) + pulalinha());

Bons estudos!

Ótima reposta, valeu !