我只是不知道我做错了什么,导致未定义的答案记录到控制台。
我尝试删除&&子句,但这似乎根本没有帮助;实际上,这使情况变得更糟。
function gradeCalculator(grade) {
if (grade >= 90) {
console.log ("A");
} else if (grade >= 80 && grade <= 89) {
console.log ("B");
} else if (grade >= 70 && grade <= 79) {
console.log ("C");
} else if (grade >= 60 && grade <= 69) {
console.log ("D");
} else (grade <= 59)
console.log ("F");
}
console.log(gradeCalculator(92)); //=> "A"
console.log(gradeCalculator(84)); //=> "B"
console.log(gradeCalculator(70)); //=> "C"
console.log(gradeCalculator(61)); //=> "D"
console.log(gradeCalculator(43)); //=> "F"
我希望输出记录到控制台为:
'A' 'B' 'C' 'D' 'F'
但是它实际上是作为:
'A' 'F' 未定义 'B' 'F' 未定义 'C' 'F' 未定义 'D' 'F' 未定义 'F' 未定义
非常感谢您的帮助,非常感谢! =)
答案 0 :(得分:2)
function gradeCalculator(grade) {
if (grade >= 90) {
console.log("A");
} else if (grade >= 80 && grade <= 89) {
console.log("B");
} else if (grade >= 70 && grade <= 79) {
console.log("C");
} else if (grade >= 60 && grade <= 69) {
console.log("D");
} else {
console.log("F");
}
}
gradeCalculator(92); //=> "A"
gradeCalculator(84); //=> "B"
gradeCalculator(70); //=> "C"
gradeCalculator(61); //=> "D"
gradeCalculator(43); //=> "F"
问题是:
else (grade <= 59)
-else
没有条件,并且这种情况也没有包含在{
和}
console.log(gradeCalculator(92)); //=> "A"
-该函数未返回任何内容,因此console.log
的值未定义(因为日志记录在函数本身中)答案 1 :(得分:0)
function gradeCalculator(grade) {
if (grade >= 90) {
console.log ("A");
} else if (grade >= 80 && grade <= 89) {
console.log ("B");
} else if (grade >= 70 && grade <= 79) {
console.log ("C");
} else if (grade >= 60 && grade <= 69) {
console.log ("D");
} else if(grade <= 59){
console.log ("F");
}
}
您最后的else
应该是有条件的else if
。
(您可以只放置else
,但else if
带有条件则更易于维护。