[英]where am i doing wrong? JS
我是 Javascript 的新手,我只是想學習功能,這有點難,但我盡力了:)。 我正在做一個 function 來計算 bmi 像這樣;
let calculateWeight = parseFloat(prompt("Enter your weight", )) let calculateHeight = parseFloat(prompt("Enter your height?")) function calculateBmi(weight, height) { let bmi = weight / (height * height) if (bmi < 18.5) { console.log("You are underweight") } else if (bmi > 18.6) { console.log("You are normal weight") } else if (bmi > 25) { console.log("you are overweigh") } return bmi; } console.log(calculateBmi(calculateWeight, calculateHeight))
如果我輸入我的值 72 體重和 1.80 公斤,它說你是正常體重,是的,這是正確的,但是每當我輸入我的值 >25 時,它又說你是正常體重,我哪里做錯了?
但是每當我輸入我的值> 25它再次說你是正常體重
因為沒有大於25
的值不滿足此條件:
} else if (bmi > 18.6) {
聽起來您只想要第一個和第三個條件,其他一切都是“正常的”:
if (bmi < 18.5) {
console.log("You are underweight")
} else if (bmi > 25) {
console.log("you are overweigh")
} else {
console.log("You are normal weight")
}
開關中的每一步都按順序進行評估,第一個遇到的將執行。
在這種情況下,任何高於 18.6 的值都會影響您的第二種情況。 為了讓它通過第三種情況,你需要一個值的上限。
...
else if (bmi>18.6 && bmi <= 25){
...
您的 calculateBmi function 中只有一個小問題。
看,每當 Bmi 大於 25 時,else 中的第二個條件如果梯子得到滿足並且“你是正常體重”就會打印在控制台中。
如下所示修復條件,您的問題將得到修復。
let calculateWeight = parseFloat(prompt("Enter your weight")) let calculateHeight = parseFloat(prompt("Enter your height?")) function calculateBmi (weight, height){ let bmi = weight / (height * height) if(bmi < 18.5){ console.log("You are underweight") }else if (bmi>18.6 && bmi<=25){ console.log("You are normal weight") }else if (bmi>25){ console.log("you are overweigh") } return bmi; } console.log(calculateBmi(calculateWeight, calculateHeight))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.