简单'if'with'或'声明

时间:2012-03-04 21:55:09

标签: javascript jquery

我无法弄清楚为什么这不起作用......

if (index != 10 || index != 0) {                

如果仍然允许index = 0功能,为什么?

5 个答案:

答案 0 :(得分:5)

当index为零时,它不是十。

双管道是逻辑OR运算符。当左侧或右侧为真时,表达式返回true。

如果您打算在index不是10和0时返回false,请使用逻辑AND,&&

if (index != 10 && index != 0) {

答案 1 :(得分:2)

因为你正在使用OR,例如||。所以首先它说是指数!= 10这是真的,因为它等于0,因此它进入条件。

您需要将其更改为(index!= 10&& index!= 0)。

答案 2 :(得分:1)

是的,因为使用了||意味着如果两个条件中的任何一个为真,它将运行。因此,由于0不是10,它将运行,因为当使用||时只需要满足其中一个条件。

如果您不希望它被允许,请使用&&代替||,这样只有在满足两个条件时才会运行

答案 3 :(得分:1)

如果index评估为某个数字,则其中一个条件将始终为真。

尝试

if (!(index == 0 || index == 10)) {
    ...
}

答案 4 :(得分:0)

你应该替换||用&&。不要与||混淆这是OR运算符,如果任何条件为true而且&&&当且仅当所有条件都是true时,AND运算符才会计算为true