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

Dá certo mas também imprime "undefined".

Olá!

Deu certo, mas está aparcendo um "undefined". Por que será? Segue meu código:

<meta charset="UTF-8">

<script>

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

    function mostra(minhaIdade, idadeAmigo) {
        document.write("Nossa diferença de idade é de " + (minhaIdade - idadeAmigo) + " anos.");
        pulaLinha();
    }

    document.write(mostra(38, 35));

</script>
1 resposta
solução!

Olá, Bernardo! Tudo bem?

A função mostra por si só já imprime uma frase, não sendo necessário você fazer utilizar o document.write(mostra(38, 35)) para chamá-la. Alterando apenas a chamada da sua função, você já corrige o undefined que estava aparecendo.

<meta charset="UTF-8">

<script>

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

    function mostra(minhaIdade, idadeAmigo) {
        document.write("Nossa diferença de idade é de " + (minhaIdade - idadeAmigo) + " anos.");
        pulaLinha();
    }

    mostra(38, 35);

</script>

E uma forma de melhorar ainda mais o seu algoritmo, tornando mais legível e flexível, é usar a função mostra sem precisar alterar os parâmetros, você pode usar apenas o parâmetro frase e fazer a chamada da função escrevendo a frase como você já fez. Ficaria da seguinte maneira:

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) { // função mostra recebe apenas o parâmetro frase
        document.write(frase);
    }

    var minhaIdade = 18;
    var idadeIrmao = 15;

    mostra("Nossa diferença de idade é de " + (minhaIdade - idadeIrmao) + " anos."); //chamada da função "mostra"
    pulaLinha();

</script>

Espero que isso tenha te ajudado. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓