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

qual maneira certa de escrever?

não compreendi muito bem o exercício proposto... é boa pratica encapsular o máximo que eu puder dentro da função?

<meta charset="UTF-8">

<script>

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

    function mostraIdades()
    {
    var minhaIdade = 21;
    var idadeIrma = 19;
    var diferencaDeIdades = Math.round(minhaIdade - idadeIrma);
    document.write("a diferenca das nossas idades eh:" + diferencaDeIdades);
    pulaLinha();
    };

    mostraIdades();

</script>

ou o certo seria fazer:

<meta charset="UTF-8">

<script>

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

    function mostraIdades(mostra)
    {
    document.write(mostra);
    pulaLinha();
    };

    var minhaIdade = 21;
    var idadeIrma = 19;
    var diferencaDeIdades = Math.round(minhaIdade - idadeIrma);
    mostraIdades("a diferenca das idades eh:"+ diferencaDeIdades);

</script>

???

obrigado

3 respostas
solução!

Acho a primeira opção mais legível e de manutenção mais fácil.

Oi Ronan!!

No caso desse exercício, ambos os meios estão corretos e irão retornar o mesmo valor. A diferença principal é que, ao encapsular as variáveis dentro de uma função, estas variáveis não poderão ser acessadas por outras funções. Isso será um problema mais a frente no curso, onde as variáveis serão acessadas por diversas outras funções.

Por exemplo, no primeiro caso:

var x = 2;
function subtraiUm (){
    x = x - 1;
    document.write(x);
}

function somaUm (){
    x = x + 1;
    document.write(x);
}

subtraiUm();
somaUm();

O retorno seria:

1 (Pois X = 2 - 1 = 1)
2 (Pois X = 1 + 1 = 2)

Enquanto se fizéssemos da segunda maneira:


function subtraiUm(){
    var x = 2;
    x = x - 1;
    document.write(x);
}

function somaUm(){
    x = x + 1;
    document.write(x);
}

subtraiUm();
somaUm();

Você receberia uma mensagem de erro na função somaUm, alegando que a variável x não está definida.

Mais a frente você aprenderá sobre isso com mais detalhes. A dica principal é: Caso a variável esteja do lado de fora de uma função, ela pode ser utilizada e alterada por todas as outras funções no código, e caso esteja dentro, só poderá ser utilizada pela mesma!

fiz certo? estou em duvida