Javascript 我的一些状况被忽视了

Javascript 我的一些状况被忽视了,javascript,Javascript,这个小应用程序告诉我一个司机开得有多快,当我测试这段代码时,它只会提醒第一个条件,不管我的输入是什么,这是一个严重的错误,这段代码我感谢大家的帮助,提前感谢大家 alert( "Welcome this program tells you how fast you were driving your vehicle, in km/h"); var top_speed = parseInt(prompt("How many km/h you was a

这个小应用程序告诉我一个司机开得有多快,当我测试这段代码时,它只会提醒第一个条件,不管我的输入是什么,这是一个严重的错误,这段代码我感谢大家的帮助,提前感谢大家

    alert(
        "Welcome this program tells you how fast you were driving your 
         vehicle, in km/h");

var top_speed = parseInt(prompt("How many km/h you was at?"));

if (top_speed >= 60) {
    alert("You were driving at " + top_speed + "km/h thats a normal speed");

} else if (top_speed >= 80) {
    alert("You were driving at " + top_speed + "km/h thats a moderate 
    speed");

} else if (top_speed >= 120) {
    alert("You were driving at " + top_speed + "km/h that is a very high 
    speed");

} else {
    alert("You need to go faster " + top_speed + "km/h is too slow ");
}

这些语句从上到下进行计算。由于80和120也都
=60
,因此第一个条件将始终与60及以上的值匹配

只需切换顺序:

if (top_speed >= 120) {
    alert("You were driving at " + top_speed + "km/h that is a very high 
    speed");

} else if (top_speed >= 80) {
    alert("You were driving at " + top_speed + "km/h thats a moderate 
    speed");

} else if (top_speed >= 60) {
    alert("You were driving at " + top_speed + "km/h thats a normal speed");

} else {
    alert("You need to go faster " + top_speed + "km/h is too slow ");
}
另一种选择是在您的条件下更加具体,即还包括一个上限:

if (top_speed >= 60 && top_speed < 80) {
    alert("You were driving at " + top_speed + "km/h thats a normal speed");

} else if (top_speed >= 80 && top_speed < 120) {
    alert("You were driving at " + top_speed + "km/h thats a moderate 
    speed");

} else if (top_speed >= 120) {
    alert("You were driving at " + top_speed + "km/h that is a very high 
    speed");

} else {
    alert("You need to go faster " + top_speed + "km/h is too slow ");
}
if(最高速度>=60和最高速度<80){
警告(“您以“+最高速度+”km/h的正常速度驾驶”);
}否则如果(最高速度>=80和最高速度<120){
警告(“您当时以“+最高速度+”km/h行驶,这是中等速度
速度);
}否则如果(最高速度>=120){
警告(“您当时以“+最高速度+”km/h行驶,这是一个非常高的速度
速度);
}否则{
警告(“你需要走得更快”+最高速度+“公里/小时太慢”);
}

这些语句从上到下进行计算。由于80和120也都
=60
,因此第一个条件将始终与60及以上的值匹配

只需切换顺序:

if (top_speed >= 120) {
    alert("You were driving at " + top_speed + "km/h that is a very high 
    speed");

} else if (top_speed >= 80) {
    alert("You were driving at " + top_speed + "km/h thats a moderate 
    speed");

} else if (top_speed >= 60) {
    alert("You were driving at " + top_speed + "km/h thats a normal speed");

} else {
    alert("You need to go faster " + top_speed + "km/h is too slow ");
}
另一种选择是在您的条件下更加具体,即还包括一个上限:

if (top_speed >= 60 && top_speed < 80) {
    alert("You were driving at " + top_speed + "km/h thats a normal speed");

} else if (top_speed >= 80 && top_speed < 120) {
    alert("You were driving at " + top_speed + "km/h thats a moderate 
    speed");

} else if (top_speed >= 120) {
    alert("You were driving at " + top_speed + "km/h that is a very high 
    speed");

} else {
    alert("You need to go faster " + top_speed + "km/h is too slow ");
}
if(最高速度>=60和最高速度<80){
警告(“您以“+最高速度+”km/h的正常速度驾驶”);
}否则如果(最高速度>=80和最高速度<120){
警告(“您当时以“+最高速度+”km/h行驶,这是中等速度
速度);
}否则如果(最高速度>=120){
警告(“您当时以“+最高速度+”km/h行驶,这是一个非常高的速度
速度);
}否则{
警告(“你需要走得更快”+最高速度+“公里/小时太慢”);
}

这是因为当其他两个条件
最高速度>=80
最高速度>=120
为真时,第一个条件
最高速度>=60
为真。当任何一个条件
为真
时,它不会检查低于该条件的其他条件。你应该改变顺序

var top_speed=parseInt(提示(“您当时的速度是多少公里/小时?”);
如果(最高速度>=120){
警告(“您以“+最高速度+”km/h的速度行驶,这是一个非常高的速度”);
}
否则如果(最高速度>=80){
警告(“您以“+最高速度+”km/h的速度行驶,这是一种中速”);
}  
否则如果(最高速度>=60){
警告(“您以“+最高速度+”km/h的正常速度驾驶”);
} 
否则{
警告(“你需要走得更快”+最高速度+“公里/小时太慢”);

}
这是因为当其他两个条件
最高速度>=80
最高速度>=120
为真时,第一个条件
最高速度>=60
为真。当任何一个条件
为真
时,它不会检查低于该条件的其他条件。你应该改变顺序

var top_speed=parseInt(提示(“您当时的速度是多少公里/小时?”);
如果(最高速度>=120){
警告(“您以“+最高速度+”km/h的速度行驶,这是一个非常高的速度”);
}
否则如果(最高速度>=80){
警告(“您以“+最高速度+”km/h的速度行驶,这是一种中速”);
}  
否则如果(最高速度>=60){
警告(“您以“+最高速度+”km/h的正常速度驾驶”);
} 
否则{
警告(“你需要走得更快”+最高速度+“公里/小时太慢”);

}
您需要撤销您的检查条件:

想象一下,当您输入
140
时,该值大于
60
,因此该代码将在第一个
if
条件下输入,并且不会检查任何其他条件

alert(“欢迎使用此程序告知您车辆的行驶速度,单位为km/h”);
var top_speed=parseInt(提示(“您当时的速度是多少km/h?”);
如果(最高速度>=120)
{
警告(“您当时以“+最高速度+”km/h的速度行驶,这是一个非常高的速度”);
}
否则如果(最高速度>=80)
{
警告(“您以“+最高速度+”km/h的速度行驶,这是一种中速”);
}
否则如果(最高速度>=60)
{
警告(“您以“+最高速度+”km/h的正常速度驾驶”);
}
其他的
{
警告(“你需要走得更快”+最高速度+“公里/小时太慢”);

}
您需要撤销您的检查条件:

想象一下,当您输入
140
时,该值大于
60
,因此该代码将在第一个
if
条件下输入,并且不会检查任何其他条件

alert(“欢迎使用此程序告知您车辆的行驶速度,单位为km/h”);
var top_speed=parseInt(提示(“您当时的速度是多少km/h?”);
如果(最高速度>=120)
{
警告(“您当时以“+最高速度+”km/h的速度行驶,这是一个非常高的速度”);
}
否则如果(最高速度>=80)
{
警告(“您以“+最高速度+”km/h的速度行驶,这是一种中速”);
}
否则如果(最高速度>=60)
{
警告(“您以“+最高速度+”km/h的正常速度驾驶”);
}
其他的
{
警告(“你需要走得更快”+最高速度+“公里/小时太慢”);

}
除了这里已经给出的好答案(它们是真实的答案),我想我还应该提到这一点,以防其他人有类似的问题


Else if仅在第一个条件为false时执行。也就是说,一个else if字符串将只执行第一个true条件。如果不存在,则只执行else,如果不存在,则不执行任何操作

除了这里已经有了很好的答案(它们是真实的答案),我想我还应该提到这一点,以防其他人有类似的问题

Else if仅在第一个条件为false时执行。也就是说,一个else if字符串将只执行第一个true条件。如果不存在,则只执行else,如果不存在,则不执行任何操作