Javascript 如何在if语句中为用户输入添加多个选项

Javascript 如何在if语句中为用户输入添加多个选项,javascript,html,user-input,Javascript,Html,User Input,我想做一个代码,你可以从百分比分数中得到字母分数。分级标尺打印在代码顶部。然后,我做了一个按钮,当你点击它时,它会提示学生输入他们的分数百分比。例如,如果用户输入93,代码会告诉他们他们有一个A,我会这样做。我会尝试对所有的值都这样做:A为100-90,B为89-80,C为79-70,D为69-60,E为59-50,对于F,任何小于50的值。我有等级刻度的代码,并且我启动了函数,该函数将为用户提供字母等级,但无法确定如何在if语句中有多个值 函数myFunction(){ var q1=提示(

我想做一个代码,你可以从百分比分数中得到字母分数。分级标尺打印在代码顶部。然后,我做了一个按钮,当你点击它时,它会提示学生输入他们的分数百分比。例如,如果用户输入93,代码会告诉他们他们有一个A,我会这样做。我会尝试对所有的值都这样做:A为100-90,B为89-80,C为79-70,D为69-60,E为59-50,对于F,任何小于50的值。我有等级刻度的代码,并且我启动了函数,该函数将为用户提供字母等级,但无法确定如何在if语句中有多个值

函数myFunction(){
var q1=提示(“请输入您的百分比分数:”);
如果(第90季度){
警惕(“你有A”);
}
如果(第80季度){
警惕(“你得了B”);
}
如果(第70季度){
警惕(“你有一个C”);
}
如果(第60季度){
警惕(“你有一个D”);
}
如果(第50季度){
警惕(“你有一个E”);
}
如果(q1>50){
警惕(“你有一个F”);
}否则{
警报(“断开”)
}
}

等级表

A.
B
C
D
E
F
100-90
89-80
79-70
69-60
59-50
< 50

单击此处查看您的转换!
您可以使用
if-else
语句来实现这一点。这将确保所有
if
块只匹配一个条件,并且每个
if
语句只需要一个条件:


单击此处查看您的转换!

函数myFunction(){ 变量等级=提示(“请输入您的百分比等级:”; 如果(等级>90){ 警惕(“你有A”); } 否则,如果(等级>80){ 警惕(“你得了B”); } 否则,如果(等级>70){ 警惕(“你有一个C”); } 否则,如果(等级>60){ 警惕(“你有一个D”); } 否则,如果(等级>50){ 警惕(“你有一个E”); } 否则{ 警惕(“你有一个F”); } }
主要问题是变量的命名不一致,所以我将它们全部改为q1。您对
条件的逻辑也有点不正确,因此我对它们进行了更改,以便它们能够说明正确的范围。记住,对于像a B这样的东西,它将是所有小于90且大于或等于80的数字<代码>90>B>=80

另外,正如其他人提到的,
不是合适的html标记。请改用

函数myFunction(){
var q1=提示(“请输入您的百分比分数:”);
如果(q1=90){
警惕(“你有A”);
}
否则如果(q1<90&&q1>=80){
警惕(“你得了B”);
}
否则如果(q1<80&&q1>=70){
警惕(“你有一个C”);
}
否则如果(q1<70&&q1>=60){
警惕(“你有一个D”);
}
否则如果(q1<60&&q1>=50){
警惕(“你有一个E”);
}
否则如果(q1<50&&q1>=0){
警惕(“你有一个F”);
}
否则{
警报(“断开”)
}
}

等级表

A.
B
C
D
E
F
100-90
89-80
79-70
69-60
59-50
< 50

单击此处查看您的转换!


您确定HTML5规范中有
标记吗?运算符
如果(等级90){A..
表示:“如果等级小于或等于100且等级大于90…”p1和p2不是html标记。只需像这样对段落使用

。在每个if块中不必有两个条件。由于前面的块,第一个总是
true
(参见我的答案)我试着遵循他的原始逻辑,不要对代码做太多修改。而你的代码仍然存在一个问题,它不能解释大于100或小于0的答案(原始答案中的“断开”)您的答案没有说明的另一件事是,当输入不是数字字符串时。如果您包含每个数字的范围,则它将保证它实际上位于其他两个数字之间,而不是具有相关较高值的字符串。您是对的,我的检查不处理(或验证)所有类型的输入。但为什么代码会为空输入或空格返回“F”你也是对的,我的答案也不能处理所有的输入类型。我只是试图帮助修复OP的代码,但没有做太多的修改,他的输入至少占到了一些无关的输入。所以我保留了它的原样,进行范围检查。