[英]Error in Simple login system. i keep getting this same error can someone help me?
[英]Simple Grading system. Keep getting error 'undefined'. What I'm I doing wrong?
我不断收到错误“未定义”,但只有一个已经定义的变量(等级)。 协助将不胜感激。
//Grading system: // A = 84 and above // D = 50 - 59 // B = 71 - 83 // E = 49 and below // C = 60 - 70 function Grading_System(grade){ var grade; switch(grade){ case(grade >= 84): return "A"; break; case(grade < 84 && grade > 70): return "B"; break; case(grade >= 60 && grade <= 70): return "c"; break; case(grade >= 50 && grade < 60): return "D"; break; case(grade < 50): return "E"; break; } } console.log(Grading_System(69));
您需要使用true
进行检查,因为对表达式进行了评估,并使用严格的比较对照switch
语句的值对其进行了检查。
switch (true) {
您可以省略break
语句,因为前一个return
语句结束了该函数。
function getGrade(grade) { switch (true) { case (grade >= 84): return "A"; case (grade < 84 && grade > 70): return "B"; case (grade >= 60 && grade <= 70): return "c"; case (grade >= 50 && grade < 60): return "D"; } return "E"; } console.log(getGrade(69));
您正在函数内部重新声明“等级”,但未对其进行初始化,因此它将是未定义的。 删除行var grade;
看看是否可行。 另外,最好包含一个default
,这样,如果没有开关匹配,则给出默认值,如果返回,我不认为需要“ break”:
function Grading_System(grade){
var grade;
switch(grade){
case(grade >= 84):
return "A";
case(grade < 84 && grade > 70):
return "B";
case(grade >= 60 && grade <= 70):
return "c";
case(grade >= 50 && grade < 60):
return "D";
case(grade < 50):
return "E";
default:
return "F";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.