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

Usar uma função em outra função

Boa tarde,criei o form.js com o seguinte conteúdo :

```function criaTd() {
var nomeTd = document.querySelector(".info-nome");
var nome = nomeTd.textContent;

var pesoTd = document.querySelector(".info-peso");
var peso = pesoTd.textContent;

var alturaTd = document.querySelector(".info-altura");
var altura = alturaTd.textContent;

var goduraTd = document.querySelector(".info-gordura");
var gordura = goduraTd.textContent;

}

E também criei o calcula-imc.js com o seguinte conteúdo :
function calculaImc(){
criaTd();

var imc = peso / (altura * altura);
return imc;

} `

Pois bem , dando console.log(calculaImc()); ele diz que a função criaTd não foi definida e dando console.log(calculaImc); ele apenas tras a string dentro dessa função queria saber o pq de não dar o resultado correto.

3 respostas

Olá Yuridasilvamenezes!

Já tentou rodar com ambos num script só?

Funcionou dessa forma?

solução!

Olá Yuridas!

Primeiro você deve criar as variáveis globais que você quer trabalhar nas duas funções e iniciá-las.

Depois na função criaTd() você precisa transformar as variáveis pesoTd.textContent e alturaTd.textContent que são do tipo string para float para fazer as contas da função calculaImc().

Segue o código alterado:

var nome= "";
var altura =0.0;
var peso = 0.0;
var gordura = "";
function criaTd() {
var nomeTd = document.querySelector(".info-nome");
nome = nomeTd.textContent;

var pesoTd = document.querySelector(".info-peso");
peso = parseFloat(pesoTd.textContent);

var alturaTd = document.querySelector(".info-altura");
altura = parseFloat(alturaTd.textContent);

var goduraTd = document.querySelector(".info-gordura");
gordura = goduraTd.textContent;

}



function calculaImc(){
criaTd()

var imc = peso / (altura * altura)
return imc

}
console.log(calculaImc())

Rodar ambos no mesmo script eu consegui,só fiquei em dúvida no caso de dividi-los,então se eu dividir em dois arquivos .js diferentes eu devo chamar as variáveis que eu quero trabalhar do outro arquivo certo ?