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

Não entendi o porquê de minha função não funcionar corretamente

<meta charset="utf-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }
    function mostra(mensagem) {
        document.write(mensagem);
        pulaLinha();
    }
    function titulo(titulo) {
        mostra("<h1>" + titulo + "</h1>");
        pulaLinha();
    }
    function calculaIdade() {
        var idade1 = 24;
        var idade2 = 26;
        var calcIdade = idade1-idade2;
    }

    titulo("programa que calcula idades");

    mostra("a diferenca de idade é de: " + calculaIdade);

</script>
3 respostas

Fala Aurélio, beleza?

Qual erro?

A minha function calcularIdade não funciona, ela retorna o código da própria função pro navegador.

solução!

Fala Aurélio,

Então vamos por partes...

Na linha abaixo você não executa a função:

mostra("a diferenca de idade é de: " + calculaIdade);

Pra que a função de calcular idade funcione é preciso executa-la, como? Usando os parênteses, assim:

mostra("a diferenca de idade é de: " + calculaIdade());

Porém mesmo fazendo isso você vai ter um retorno do tipo undefined, por quê? Porque sua função não retorna nenhum valor, então altere seu código da função calcular idade para:

function calculaIdade() {
    var idade1 = 24;
    var idade2 = 26;
    var calcIdade = idade1-idade2;
    return calcIdade;
}

Código Final:

function pulaLinha() {
    document.write("<br>");
}
function mostra(mensagem) {
    document.write(mensagem);
    pulaLinha();
}
function titulo(titulo) {
    mostra("<h1>" + titulo + "</h1>");
    pulaLinha();
}
function calculaIdade() {
    var idade1 = 24;
    var idade2 = 26;
    var calcIdade = idade1-idade2;
    return calcIdade;
}

titulo("programa que calcula idades");

mostra("a diferenca de idade é de: " + calculaIdade());

Tmj, bons estudos.!