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

Duvida sobre função dentro de função!

Indo um pouco além da parte proposta fiz meu código da seguinte maneira:

<meta charset="utf-8">
<script>

    function breakLine(number) {
        var amount = number;
        for (i = 0; i < amount; i++) {
            document.write("<br>");
        }
    }

    function showText(text, number) {
        document.write(text);
        breakLine(number);
    }

  var ano = 2020

    showText("Lucas tem " + (ano - 1994), 1);
    showText("Flávio tem " + (ano - 1965), 2)
    showText("João tem " + (ano - 1977), 0)

</script>

Porém ele pula a quantidade de linhas erradas quando coloco var amount = number; Ficando correto somento quando suprimo o var, desta meneira:

<meta charset="utf-8">
<script>

    function breakLine(number) {
        amount = number;
        for (i = 0; i < amount; i++) {
            document.write("<br>");
        }
    }

    function showText(text, number) {
        document.write(text);
        breakLine(number);
    }

  var ano = 2020

    showText("Lucas tem " + (ano - 1994), 1);
    showText("Flávio tem " + (ano - 1965), 2)
    showText("João tem " + (ano - 1977), 0)

</script>

Gostaria de entender o porque isso acontece

3 respostas
solução!

Bom dia.

Fiz um teste usando o var, e ele imprimiu a quantidade de BR informado corretamente.

Quando você diz que ele pula a quantidade de linhas erradas, como fica para você?

Realmente agora funcionou, não sei o que pode ter acontecido anteriormente. Mas notei que é redundante o que estou fazendo, deixei o novo código assim:

<meta charset="utf-8">
<script>

    function breakLine(number) {
        for (i = 0; i < number; i++) {
            document.write("<br>");
        }
    }

    function showText(text, number) {
        document.write(text);
        breakLine(number);
    }

    var ano = 2020

    showText("Lucas tem " + (ano - 1994), 1);
    showText("Flávio tem " + (ano - 1965), 2)
    showText("João tem " + (ano - 1977), 0)

</script>

Boa tarde!

A questão do var estava realmente sobrando. Mas achei que pudesse ser algo mais didático , ou que você quisesse debugar o código.

Quem bom que deu certo!