简体   繁体   English

在 JavaScript 函数中使用多个 else if 语句

[英]Using multiple else if statements in a JavaScript function

I am a beginning programmer and I am creating my first website.我是一名初级程序员,我正在创建我的第一个网站。 I haver a problem with an else if statement in an function in JavaScript.我在 JavaScript 函数中的 else if 语句有问题。 The problem is that my website always seems to go for the first else if answer, even if its not true.问题是我的网站似乎总是第一个 else if answer,即使它不是真的。 this is the function:这是功能:

 if (600 <= regenid < 614) { var tempcijfer = 1 } else if (gevoelstempc < 0.1) { var tempcijfer = 1 } else if (0.1 < gevoelstempc < 6.5) { var tempcijfer = 2 } else if (6.5 < gevoelstempc < 10.9) { var tempcijfer = 3 } else if (10.9 < gevoelstempc < 12.9) { var tempcijfer = 4 } else if (12.9 < gevoelstempc < 15.9) { var tempcijfer = 5 } else if (15.9 < gevoelstempc < 17.5) { var tempcijfer = 6 } else if (17.5 < gevoelstempc < 19.5) { var tempcijfer = 7 } else if (19.5 < gevoelstempc < 21.1) { var tempcijfer = 8 } else if (21.1 < gevoelstempc < 22.9) { var tempcijfer = 9 } else if (22.9 < gevoelstempc < 25.2) { var tempcijfer = 10 } else if (25.2 < gevoelstempc < 27.9) { var tempcijfer = 9 } else if (27.9 < gevoelstempc < 30.1) { var tempcijfer = 8 } else if (30.1 < gevoelstempc < 32.9) { var tempcijfer = 7 } else if (32.9 < gevoelstempc < 34.9) { var tempcijfer = 6 } else if (34.9 < gevoelstempc < 37.1) { var tempcijfer = 5 } else if (37.1 < gevoelstempc < 39.1) { var tempcijfer = 4 } else if (39.1 < gevoelstempc < 40.5) { var tempcijfer = 3 } else if (40.5 < gevoelstempc < 41.5) { var tempcijfer = 2 } else if (gevoelstempc > 41, 5) { var tempcijfer = 1 }

tempcijfer always seems to become 1 even if gevoelstempc is bigger than 6.5 ) How do I solve this?即使gevoelstempc大于6.5 tempcijfer似乎总是变成1 )我该如何解决这个问题?

You can not use the condition of if statement like that, you must use operators like && ( for AND operator) and ||你不能像那样使用 if 语句的条件,你必须使用像 && ( 用于 AND 运算符) 和 || 之类的运算符( for OR operator) (对于 OR 运算符)

So your code will be like this:所以你的代码会是这样的:

   if ( regenid >= 600 && regenid < 614 ){ var tempcijfer= 1 } 

and the same for the other conditions in your code.代码中的其他条件也是如此。

I think you misunderstand how if works.我认为你误解了 if 是如何工作的。 You are putting two operators on the same comparison.您将两个运算符放在同一个比较中。 I think that what you trying to do with if( 600<=regenid<614 ) is if(600 <= regenid && regenid < 614).我认为你试图用if( 600<=regenid<614 )是 if(600 <= regenid && regenid < 614)。 The operator && means "and".运算符&&表示“和”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM