【发布时间】:2021-06-01 16:22:13
【问题描述】:
let studentScore = 90
let totalPossibleScore
let gradeMessage = function(studentScore, totalPossibleScore = 100) {
let finalGradePercent = (studentScore / totalPossibleScore) * 100
if (finalGradePercent >= 90) {
let letterGrade = 'A'
return letterGrade
} else if (finalGradePercent >= 80) {
let letterGrade = 'B'
return letterGrade
} else if (finalGradePercent >= 70) {
let letterGrade = 'C'
return letterGrade
} else if (finalGradePercent >= 60) {
let letterGrade = 'D'
return letterGrade
} else {
let letterGrade = 'F'
return letterGrade
}
}
let studentScoreMessage = `You got a ${gradeMessage(studentScore, totalPossibleScore)} (${studentScore/totalPossibleScore}%)!`
console.log(studentScoreMessage)
回应:
You got a A (NaN%)!
为什么它不给我字母等级?
【问题讨论】:
-
totalPossibleScore是一个从未初始化的顶级变量声明。它也是函数参数的名称,但使用相同的名称会产生误导,因为它们不是同一个绑定。 -
知道了。谢谢!过去 40 分钟一直卡在这个问题上
标签: javascript string nan