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

Aula 05 - Atividade 4

Não ficou muito claro pra mim, como funciona a função obtemPacienteDoForm(form).

Minha dúvida é: chama-se a função através de

var paciente = obtemPacienteDoForm(form);

mas dentro da função játem outro paciente

function obtemPacienteDoForm(form) {

    var paciente = {
        nome: form.nome.value,
        peso: form.peso.value,
        altura: form.altura.value,
        gordura: form.gordura.value,
        imc: calculaImc(form.peso.value, form.altura.value)
    }

    return paciente;

}

Alguém poderia me explicar, qual a diferença de um paciente para o outro? Se puder explicar, exemplificando com nomes diferentes, acho que fica mais fácil.

2 respostas

Olá Diego, tudo bem? Esse paciente em questão:

var paciente = {
        nome: form.nome.value,
        peso: form.peso.value,
        altura: form.altura.value,
        gordura: form.gordura.value,
        imc: calculaImc(form.peso.value, form.altura.value)
    }

É apenas o nome do objeto sendo criado pegando os dados submetidos do seu paciente do seu formulário, ele se chama paciente mas poderia ter qualquer outro nome.

solução!

Oi Diego,

Quando criamos a função obtemPacienteDoFormulario(), queremos isolar nela a responsabilidade de extrair um paciente do <form> em um objeto do Javascript.

Então a variável paciente é um objeto que está dentro da função obtemPacienteDoFormulario() .

Nós demos o nome paciente, mas poderia ser qualquer outro nome, como por exemplo pacienteDoFormulario :

function obtemPacienteDoForm(form) {

    var pacienteDoFormulario = {
        nome: form.nome.value,
        peso: form.peso.value,
        altura: form.altura.value,
        gordura: form.gordura.value,
        imc: calculaImc(form.peso.value, form.altura.value)
    }
    return pacienteDoFormulario;
}

Repare que ao final da função, utilizamos a instrução return para que a função obtemPacienteDoFormulario() nos retorne a variável pacienteDoFormulario. Afinal é nela que estão os nossos dados.

Então quando chamamos a função :

obtemPacienteDoFormulario(form);

precisamos a variável que está sendo retornada(pacienteDoFormulario) em algum lugar, para que ela seja usável.

Este algum lugar , é uma outra variável, que também podemos batizar do nome que quisermos, por exemplo paciente:

var paciente = obtemPacienteDoFormulario(form);

Então na verdade, quando retornamos uma variável de dentro de uma função , precisamos colocá-la em uma variável para que ela seja usada depois.

A variável de dentro da função e a de fora podem ter nomes diferentes, afinal elas não são a "mesma" variável.