Javascript 如何在if语句中为用户输入添加多个选项
我想做一个代码,你可以从百分比分数中得到字母分数。分级标尺打印在代码顶部。然后,我做了一个按钮,当你点击它时,它会提示学生输入他们的分数百分比。例如,如果用户输入93,代码会告诉他们他们有一个A,我会这样做。我会尝试对所有的值都这样做:A为100-90,B为89-80,C为79-70,D为69-60,E为59-50,对于F,任何小于50的值。我有等级刻度的代码,并且我启动了函数,该函数将为用户提供字母等级,但无法确定如何在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=提示(
函数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的代码,但没有做太多的修改,他的输入至少占到了一些无关的输入。所以我保留了它的原样,进行范围检查。