I was working in a IMC calculator to exercise js. This calculator should shows the IMC and a message acording the result but, for some reason, it always shows the default message.
const form = document.querySelector('#form');
form.addEventListener('submit',(e)=>{
e.preventDefault();
const weight = document.querySelector('#weight').value;
const height = document.querySelector('#height').value;
const bmi = (weight / (height **2)).toFixed(2);
const value = document.querySelector('#value');
let description = '';
document.querySelector('#infos').classList.remove('hiden');
switch(bmi){
case bmi < 18.5:
description = 'Cuidado! Você está abaixo do peso!';
break;
case bmi >= 18.5 && bmi <= 25:
description = "Você está no peso ideal!";
value.classList.remove('attention');
value.classList.add('normal');
break;
case bmi > 25 && bmi <= 30:
description = "Cuidado! Você está com sobrepeso!";
break;
case bmi > 30 && bmi <= 35:
description = "Cuidado! Você está com obesidade moderada!";
break;
case bmi > 35 && bmi <= 40:
description = "Cuidado! Você está com obesidade severa!";
break;
case bmi > 40:
description = "Cuidado! Você está com obesidade morbida!";
break;
default:
description = "verifique novamente";
break;
}
value.textContent = bmi.replace('.', ',')
document.querySelector('#description').textContent =description ;
});
我尝试重写,在像这样的情况下使用括号 > case (bmi > 25 && bmi <= 30) 并检查了作业说明。 Algo seak 在 yt 中寻找一些使用 switch 的教程,但没有找到。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您正在打开一个数字,但所有情况都评估为布尔值,因此它们可以匹配。您可以改为使用一系列
if、else if和else。或者,改为打开
true,这将导致选择第一个计算结果为true的情况。switch (true) { // ... }