jQuery中条件语句的问题

时间:2012-07-15 09:55:49

标签: json jquery conditional-statements

我在处理json请求中的某些数字时遇到问题。根据结果​​,我试图输出一些不同的HTML。具体问题是我来检查一个数字是否大于-1但小于6.代码摘录如下......

else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > -1) {
//Something else happens here
}
else if(parseInt(myvariable, 10) > 6) {
//This is where the third thing should happen, but doesn't?
}

似乎尽管价值是7或70,但第二个'否则'就是它已经达到了。

有没有办法我可以检查数字是否大于-1但小于6,以便它转到下一个条件语句。

我猜这(就像我之前的问题)有一个非常简单的答案所以请原谅我的天真。

提前致谢。

5 个答案:

答案 0 :(得分:0)

if条件错误。让我们想一想:myvariable是7。

在你的代码中会发生:

else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > -1) {
**// HERE THE CONDITION IS TRUE, BECAUSE 7 > -1**
}
else if(parseInt(myvariable, 10) > 6) {
// This is where the third thing should happen, but doesn't?
}

您可以将其更改为

else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > 6) {
// This is where the third thing should happen, but doesn't?
}
else if(parseInt(myvariable, 10) > -1) {
 // Moved
}

让它发挥作用......

答案 1 :(得分:0)

条件仅在一个被发现为真之前执行。

换句话说,您需要重新订购订单或收紧订单以使当前订单有效。

7高于-1,因此第二个条件解析为true。因此对于7,从不需要第3个条件。

if(parseInt(myvariable, 10) < -1) {
    //number is less than -1
}
else if(parseInt(myvariable, 10) > 6) {
    //number is above 6
}
else {
    //neither, so must be inbetween -1 an 6
}

答案 2 :(得分:0)

是的,因为你写的大于-1的任何数字都不会抛出第三个代码块,它会抛出第二个代码,就像你说的那样“数字大于-1但小于6 < / strong>“你可以这样做:

else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > -1 && parseInt(myvariable, 10) < 6) {
//Something else happens here
}

答案 3 :(得分:0)

另一种解决方案是改变第二行:

else if(parseInt(myvariable, 10) > -1)

为:

else if(parseInt(myvariable, 10) <= 6)

有很多方法可以写这个。

答案 4 :(得分:0)

我想你可以轻松做到这样:

考虑你的变量值是(7):

else if(parseInt(myVariable, 10) &lt; -1) {
//this is where one thing happens
}
else if(parseInt(myVariable, 10) > -1) {
//now 'myVariable' is greater than -1, then let's check if it is greater than 6
if(parseInt(myVariable, 10) > 6) {
//this where what you should do if 'myVariable' greater than -1 AND greater than 6
}
}