Olá pessoal, Percebi que em um dos exemplos foi feita a seguinte implementação:
function obterPacienteDoForm(form) {
return {
nome: form.nome.value,
altura: form.altura.value,
peso: form.peso.value,
gordura: form.gordura.value,
imc: calculaIMCFormatadoTela(form.peso.value, form.altura.value)
};
}
Como é possível ver, é passado à função de cálculo de IMC, valores oriundos diretamente do form, e não dos próprios atributos do objeto que já receberam esses mesmos valores do form.
Tentei mudar a implementação, apenas como um teste e ficou assim:
function obterPacienteDoForm(form) {
return {
nome: form.nome.value,
altura: form.altura.value,
peso: form.peso.value,
gordura: form.gordura.value,
imc: calculaIMCFormatadoTela(peso, altura)
};
}
Porém desta forma, o cálculo do IMC resultou em NaN. Tentei converter para Number, utilizando a função Number() antes de passar à função, porém, sem sucesso. Após fazer um console.log() nos dois valores após serem enviados para a função:
function calculaIMCFormatadoTela(peso, altura) {
console.log(peso);
console.log(altura);
return calculateIMC(peso, altura).toFixed(2);
}
Foram logadas as duas tags de input respectivamente.
Daí me pergunto, de qual contexto ele puxou isso?
Posso assumir que objetos javascript não conseguem ser acessados durante sua criação?
Obrigado.