-3

我正在编写一个将#s 转换为成绩的javascript 程序。我不断收到语法错误,但我似乎看不到它。你有什么建议让我解决这个问题吗?

<script>        

            if (var entry >=94 and (&&) var entry <=100) prompt var      letterGrade="A";
            else if (var entry >=86 and (&&) var entry <=93 ) prompt var letterGrade ="B";
            else if (var entry >=78 and (&&) var entry <=85) prompt var letterGrade ="C";
            else if (var entry >=70 and (&&) var entry <=77 ) prompt var letterGrade ="D";
            else if (var entry >=69) prompt var letterGrade ="F";


        alert("Number grade = " + entry + "\n"
                + "Letter grade = " + letterGrade);
    }
    while (entry != 999);
</script>
4

2 回答 2

1

好吧,让我们看看。

<script>        

        if (var entry >=94 and (&&) var entry <=100) prompt var      letterGrade="A";

and (&&)很奇怪。你从哪里得到那个的?你的意思是&&大概。
prompt在此代码段中没有任何意义。它之前只是挂在那里的方式var是语法错误。它应该是一个功能吗?
var letterGrade="A";实际上是正确的。您正在分配一个变量。

当您尝试将变量与数字进行比较时,您正在使用var...这仅用于分配变量。您实际上是在此处清除它并将其设置为undefined而不是引用它。

        else if (var entry >=86 and (&&) var entry <=93 ) prompt var letterGrade ="B";
        else if (var entry >=78 and (&&) var entry <=85) prompt var letterGrade ="C";
        else if (var entry >=70 and (&&) var entry <=77 ) prompt var letterGrade ="D";
        else if (var entry >=69) prompt var letterGrade ="F";

所有这些都与上述陈述有相同的问题。

    alert("Number grade = " + entry + "\n"
            + "Letter grade = " + letterGrade);

那会奏效。

}

这个随机大括号是一个语法错误。

while (entry != 999);

while应该怎么做?这将是一个无限循环。身体里什么都没有。不entry应该也是百分制吗?999和什么有什么关系?

</script>

那么,让我们看看。这可以满足您的代码似乎想要的目的。

var letterGrade; //declare the variable
var entry=87; //for testing... otherwise we'd get an referenceError

if(entry>94){ letterGrade='A'; }
else if(entry>86){ letterGrade='B'; }
else if (entry>78){ letterGrade='C'; }
else if (entry>70){ letterGrade='D'; }
else { letterGrade='F'; }


alert("Number grade = " + entry + "\n" + "Letter grade = " + letterGrade);

有更优雅的方法可以做到这一点,但希望这能为您指明正确的方向。

于 2013-09-09T22:42:25.810 回答
0

您不需要所有这些“var”关键字。此外,范围规范有点乏味。我建议您创建一个简单的函数来获得成绩。这里有一些 JavaScript,您可以将其放入文档正文中以进行演示...

function GetGrade(v)
{
    if (v > 100) return "n/a";
    if (v <69) return "F";
    if (v <77) return "D";
    if (v <85) return "C";
    if (v <93) return "B";
    return "A";
}
// Now let's show some sample scores and grades...
var grades =[94,91,88,72];
for(var i = 0; i < grades.length; i++)
{
    document.writeln('<p>Number grade ' +  grades[i] + ' = Letter grade: ' + GetGrade(grades[i]) + '</p>');
}
于 2013-09-09T22:43:34.847 回答