Javascript if else语句..活动级别的计算

Javascript if else语句..活动级别的计算,javascript,Javascript,只有代码的前半部分起作用,并且计算Carries Required>sum、Carries Required==sum和Carries Required总和{ 输出+=您仍然可以消耗所需的+卡路里-食物总量+kcal; }如果需要热量,则else==总和{ 输出+=您刚刚消耗了足够的+所需热量-食物总量+kcal; }否则,如果需要热量=1&&$selection=3&&$selection=6&&$selection=8&&$selection sum,则为else{ $‘消费’.text您仍

只有代码的前半部分起作用,并且计算Carries Required>sum、Carries Required==sum和Carries Required var bmr=100; var总和=50; 所需var卡路里=0; 变量activityLevels={ 0: 1.2, 1-3: 1.375, 3-5: 1.55, 6-7: 1.725, 2x:1.9 }; var输出=; 函数CalculateCaloriesNeedActivityLevel{ 如果activityLevel的类型[activityLevel]!==未定义{ 所需热量=bmr*活动水平[活动水平]; 返回true; } 返回false; } var currentActivityLevel=提示输入您的活动级别; 如果需要CalculateCalories currentActivityLevel{ //输入有效 输出+=您需要消耗+所需热量+

; 如果需要热量>总和{ 输出+=您仍然可以消耗所需的+卡路里-食物总量+kcal

; }如果需要热量,则else==总和{ 输出+=您刚刚消耗了足够的+所需热量-食物总量+kcal

; }否则,如果需要热量<总和{ 输出+=您已过度消耗+所需总热量+kcal食物

; } }否则{ 输出+=您的输入无效。请从“0”、“1-3”、“3-5”、“6-7”或“2x”中选择一个。

; }
文件。写入输出 很抱歉,您的代码充满了bug

var bmr=100;
var sum=50;
var caloriesneeded = 0;

var activitylevel = prompt("Enter your activity level ");
document.write( "<p>You need to consume ");

if ( activitylevel == "0"){
   document.write (caloriesneeded = bmr * 1.2 );

}
else if (activitylevel == "1-3"){
   document.write(caloriesneeded = bmr *  1.375 );

}
else if (activitylevel == "3-5"){
    document.write(caloriesneeded = bmr *  1.55 );

}
else if (activitylevel == "6-7"){
    document.write (caloriesneeded = bmr * 1.725 );

}
else if (activitylevel == "2x"){
    document.write(caloriesneeded = bmr * 1.9 );

}

else {
    document.write("invalid");
}



if (caloriesneeded > sum){
    document.write ("<p>You still can consume " + (caloriesneeded - sum) + 
"kcal of food</p>");

}

else if (caloriesneeded == sum){
    document.write("<p>You have consumed just enough " + (caloriesneeded - 
sum) + "kcal of food</p>");

}

else if (caloriesneeded < sum){
    document.write ("<p>You have over consumed  " + (sum - caloriesneeded ) 
+ "kcal of food</p>");

}
这不是范围检查:

if ( activitylevel == 0){
您应该执行以下操作:

if (activitylevel == "1-3"){
如上所述,用户不知道在提示窗口中输入什么。最好有一个用户可以选择的列表

在这里,我举了一个简单的例子,说明如何使它成为一个更好的解决方案

$activeSelection.changefunction{ var bmr=100; var总和=50; 所需var卡路里=0; var$selection=$activeSelection.val; 如果$selection==0{ 所需热量=bmr*1.2; $‘卡路里响应’。文本所需卡路里; }如果$selection>=1&&$selection<3,则为else{ 所需热量=bmr*1.375 $‘卡路里响应’。文本所需卡路里; }如果$selection>=3&&$selection=6&&$selection<7,则为else{ 所需热量=bmr*1.725; $‘卡路里响应’。文本所需卡路里; }如果$selection>=8&&$selection sum,则为else{ $‘消费’.text您仍然可以消费+所需热量-sum+kcal的食物; } 如果需要热量,则else==总和{ $'consume'。text您刚刚消耗了所需的+卡路里- 食物总量+千卡; } 否则,如果需要热量<总和{ $'consume'.text您已过量摄入+所需热量总和+食物千卡; } }; 嗨,你的活动水平是多少? 请选择 花大量时间看电视的人 不怎么做 懒惰的 不太活跃 活跃的 忙碌的 每周活动2次 每周活动3次 每周活动4次 每周活动5次 总是忙个不停 您需要消费:
嘿,只是想一想:如果你有一些关于activitylevel的明确案例,选择框会帮助用户选择正确的选择吗?什么不起作用?预期的行为是什么?当我执行代码时,我总是有两行输出。顺便说一句,你可以清理你的代码,以尽量减少出现错误的机会。
if (activitylevel == "1-3"){
if (activitylevel >= 1 && activitylevel < 3){