Galera é o seguinte quando a altura ou peso está erro ao invés dele validar se o peso ou altura está errado e exibir na célula imc um ele sempre está exibindo o ultimo if mas se eu tirar o else do ultimo if ai ele funciona de forma coerente conforme a ordem da estrutura se o peso estive errado na célula do imc vai ser exibido peso inválido mas se eu deixar com else ele sempre vai exibir a condição do ultimo IF.
if (peso <=0 || peso > 400) {
console.log ("Peso Inválido");
tdImc.textContent = "Peso Inválido";
pesoEhValido = false;
}
if (altura <=0 || altura >= 3 ){
console.log ("Altura inválida");
tdImc.textContent = "Altura Inválida";
alturaEhValida = false;
}
if (alturaEhValida && pesoEhValido) {
var imc = peso / (altura * altura);
tdImc.textContent = imc;
} else {
tdImc.textContent = "Altura ou peso inválidos!"
}