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,如果不存在,则不执行任何操作