Javascript if-else条件不返回所需的输出

Javascript if-else条件不返回所需的输出,javascript,conditional-statements,Javascript,Conditional Statements,我一直在教自己如何用新的语言编写代码,可能会问一些愚蠢的问题 我试着让它起作用,但当输出弹出,并且我输入的分数高于50分时,它应该显示“通过”这个词。相反,我仍然得到“失败”——数量无关紧要 我很确定这和条件有关,但我已经在这上面呆了很长时间了 这是我的密码: var input = Number(prompt("Enter a grade between 0 and 100.")); //enter grade if (input > 100 || input &l

我一直在教自己如何用新的语言编写代码,可能会问一些愚蠢的问题

我试着让它起作用,但当输出弹出,并且我输入的分数高于50分时,它应该显示“通过”这个词。相反,我仍然得到“失败”——数量无关紧要

我很确定这和条件有关,但我已经在这上面呆了很长时间了

这是我的密码:

var input = Number(prompt("Enter a grade between 0 and 100.")); //enter grade

if (input > 100 || input < 0) {
    alert("Grade not valid. Enter a grade between 0 and 100."); //validate grade
} else {
    if (input < 50); //result FAIL
    {
        result = "Fail";
        alert("FAIL");
    }

    /*
        if (input > 50); //result PASS - This part doesn't work
        {
        result = "Pass";
        alert("PASS");
        }
    */

    total = total + input;
    entrys = entrys + 1; //show inputed grades
    document.write("<br>" + "Grade " + entrys + " = " + input + " = " + input / 100 + "%" + "  " + result); // Every inputed result is considered "Fail"
}
var input=Number(提示(“输入介于0和100之间的等级”)//入级
如果(输入>100 | |输入<0){
警告(“等级无效。请输入介于0和100之间的等级。”);//验证等级
}否则{
if(输入<50);//结果失败
{
结果=“失败”;
警报(“失败”);
}
/*
如果(输入>50);//结果通过-此部件不工作
{
结果=“通过”;
警报(“通过”);
}
*/
总计=总计+输入;
entrys=entrys+1;//显示输入的成绩
document.write(“
”+“Grade”+entrys+“=”+input+“=”+input/100+“%”+“+result);//每个输入的结果都被视为“失败” }
if(input<50)后面的分号将if语句转换为一行if,其中包含一个空表达式,后跟始终运行的代码块。您可以通过去掉分号来解决问题

if(输入<50)//结果失败
//^这很糟糕

正如其他人已经指出的,您需要删除
。原因是,传统上,在编译器语言中,分号(
)用于标记行的结尾。在javascript中,它们也用于此目的,但在javascript中它们是可选的


因此,如果您的代码跨越多行,请避免不必要地使用它。绝对不要在
for
while
循环之后使用它(除非您希望在某些用例中使用),或者在
if else
语句之后使用它,因为执行将在该行停止,下一行将像不相关的代码一样执行,而不是循环/语句的一部分。希望这有意义

摆脱
if
条件后编码>谢谢!!现在一切都好了!谢谢我学到了人生的一课。现在一切都好了!