如何在JavaScript中使用成绩计算器时显示错误信息

How to display error message when using a grade calculator in JavaScript?

本文关键字:计算器 显示 信息 错误 JavaScript      更新时间:2023-09-26

下面是一个分数计算器,它将使用if/else语句为输入的数字附加一个字母分数。我有困难找到一种方法来显示错误信息,如果一个游侠数字或非数值输入。有什么建议吗?谢谢!

    var entry;
    var letterGrade;
    entry = prompt("Enter number grade from 0 through 100'n" +
                   "Or enter 999 to end entries", 999);
    entry = parseInt(entry);
if (entry <= 59)
    letterGrade = "F";
else if (entry >= 60 && entry <= 69)
    letterGrade = "D";
else if (entry >= 70 && entry <= 79)
    letterGrade = "C";
else if (entry >= 80 && entry <= 89)
    letterGrade = "B";
else if (entry >= 90 && entry <= 100)
    letterGrade = "A";
    alert("Number grade = " + entry + "'n" +
          "Letter grade = " + letterGrade);

超出范围可以是任何>100的值所以你可以在后面加上else:

[..]
else if (entry >= 90 && entry <= 100)
    letterGrade = "A";
else
    alert("Error, your number " + entry + " was out of range (>100)");

如果不是数字,可以使用isNaN():

if(isNaN(entry)){
    alert("That was not a number!");
else {
    if (entry <= 59)
        letterGrade = "F";
    ....
}

编辑:我看到你的输入是>0<101,所以要捕捉负数,你需要将此添加到第一个if语句中:

if (entry >= 0 && entry <= 59)

在开头添加检查以查看entry是否为有效输入:

if(isNaN(entry) || entry < 0 || entry > 100)
    alert('Only a grade between 0 and 100 is allowed');

var entry
,   letterGrade;
entry = parseInt(prompt("Enter number grade from 0 through 100'n" +
                   "Or enter 999 to end entries", 999));
if(isNaN(entry) || entry < 0)
    alert('Only a grade between 0 and 100 is allowed');
else if (entry <= 59)
    letterGrade = "F";
else if (entry >= 60 && entry <= 69)
    letterGrade = "D";
else if (entry >= 70 && entry <= 79)
    letterGrade = "C";
else if (entry >= 80 && entry <= 89)
    letterGrade = "B";
else if (entry >= 90 && entry <= 100)
    letterGrade = "A";
    alert("Number grade = " + entry + "'n" +
          "Letter grade = " + letterGrade);