我正在处理switch语句,并在下面有一个小功能,将给定的数值分数转换为分数。或者至少这是它应该做的事情,但不知何故,这一切都出错了,我不知道为什么!Score to Grade转换器,或者:为什么我的switch语句错误? (Javascript)
function convertScoreToGrade(score) {
var grade = "";
switch(score) {
case 100>=score && score>=90: grade = "A";
break;
case 89>=score && score>=80: grade = "B";
break;
case 79>=score && score>=70: grade = "C";
break;
case 69>=score && score>=60: grade = "D";
break;
case 59>=score && score>=0: grade = "F";
break;
case score>100 || score<0: grade = "INVALID SCORE";
} return grade;
}
convertScoreToGrade(10);
例如,当我输入数字10时,我只会得到一个空字符串,这表明相关案例未被评估。任何帮助,将不胜感激。
你的情况下,所有的结果在布尔值,而'score'不是一个布尔值,所以你永远不会得到匹配。你可以做'switch(true){...',但是'if/else'语句可能更好 –
[documentation](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/语句/开关)说* switch语句评估表达式,将表达式的值与case子句*匹配。 –