2
respostas

como a função diferencia os parametros e sabe a qual parametro se refere?

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

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

    function exibeTitulo(titulo) {
        document.write("<h1>" + titulo + "</h1>");
        pulaLinha();
    }

    function exibeParagrafo(paragrafo) {
        document.write("<p>" + paragrafo + "</p>");
        pulaLinha();
    }

    // pede para alguém ler daqui em diante e veja se ele entende o que esta sendo feito
    exibeTitulo("Bem-vindos");
    exibeParagrafo("Este é um simples programa");
</script>

eu não entendi como o parametro TITULO sabe que tem que se referir a primeira linha e PARAGRAFO se refere a segunda

2 respostas

Fala Tiago, tudo bom?

Nosso código é lido da esquerda para a direita, de cima para baixo! Se observamos a ordem em que chamamos as funções, o exibeTitulo aparece na frente, por isso ele é exibido em cima do parágrafo.

Se alterarmos a ordem de chamada, e colocarmos primeiro o exibeParagrafo e depois o exibeTitulo, o parágrafo será exibido antes!

Faça os testes e verifique!

Espero ter ajudado!

Abraços e bons estudos!

Além disso que foi dito acima, você deve atentar para a assinatura da função a função exibeTitulo é diferente da exibeParagrafo.

Para chamar a função exibeTítulo você usou a linha:

exibeTitulo("Bem-vindos");

Quando ela for chamada ela vai chamar a função exibeTitulo.

function exibeTitulo(titulo) {
        document.write("<h1>" + titulo + "</h1>");
        pulaLinha();
    }

A função exibeTítulo requer um parâmetro que é justamente o título que vamos envolver entre as tags h1.

Para chamar a função exibeParagrafo você usou:

 exibeParagrafo("Este é um simples programa");

Como o colega disse a ordem de chamada influencia uma vez que as duas funções fazem algo semelhante envolver um texto entre tags, uma em um h1 e outra em p.

Não é o que é passado por parâmetro que determina se algo vai aparecer na primeira linha, e sim a ordem que a função foi chamada eu poderia fazer também o seguinte:

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

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

    function exibeTitulo(titulo,paragrafo) {
        document.write("<h1>" + titulo + "</h1>");
        pulaLinha();
    }

    function exibeParagrafo(paragrafo) {
        document.write("<p>" + paragrafo + "</p>");
        pulaLinha();
    }

    // pede para alguém ler daqui em diante e veja se ele entende o que esta sendo feito

    exibeParagrafo("Bem-vindos");
     exibeTitulo("Este é um simples programa");
</script>

Troquei o parâmetro do paragrafo pelo parâmetro do título, agora visualmente as funções não fazem sentido porque eu troquei as assinaturas das funções.Ao invés de chamar a função que exibe parágrafos e passar o parâmetro "Este é um simples programa", eu passei "Bem-vindos" que era o parametro de exibeTitulo. Esses erros e questões são muito comuns quando estamos iniciando nosso aprendizado com funções. Então antes de usar a função eu preciso atentar pra qual é o nome da função(assinatura), que parâmetros ela requer que sejam passados, o que ela faz e o que ela retorna, se é que retorna.

Espero ter ajudado e bons estudos.