繁体   English   中英

我在javascript中正确使用逻辑运算符OR(||)吗?

[英]Am i using the logical operator OR (||) correctly, in javascript?

if ((typed_edge!='Either') || (typed_edge!='Walkable')){
    alert("YES");
    alert("type_edge"+ typed_edge + bus_stops_visited[$k]+ " " +bus_stops_visited[$k+1]);
    }

如果typed_edge的值为Either,则显示警报(“ YES”)。

不应该不显示吗?

我想要的是,当typed_edge的值为“ Either”或“ Walkable”时,不显示警报。 但这似乎并非如此!

您在上面拥有它的方式需要这样做:

if('Either' !== typed_edge && 'Walkable' !== typed_edge) {
 // this means - it is NOT both of them
}

您现在拥有的方式说:

如果不是

要么

如果它不适合步行

这意味着如果它是“可步行的”,则第一个条件的值为“ true”

这意味着警报将触发。

相反,如果为“ Either”,则第二个条件为“ true”,并且会触发。

尝试这个:

if (typed_edge !== 'Either' && typed_edge !== 'Walkable'){
    alert("YES");
    alert("type_edge"+ typed_edge + bus_stops_visited[$k]+ " " +bus_stops_visited[$k+1]);
}

编辑:在问题中错过了“不是”

if (typed_edge==='Either' || typed_edge==='Walkable'){
    alert("YES");
    alert("type_edge"+ typed_edge + bus_stops_visited[$k]+ " " +bus_stops_visited[$k+1]);
}

您应该将条件设为句子,以便于构建。 这样,您只需将语法替换为所需的语法即可。

|| 如果正确使用则有条件,但是if()if()语句中使用not-equal-to ,请尝试以下操作:

if ((typed_edge=='Either') || (typed_edge=='Walkable')){
    alert("YES");
    alert("type_edge"+ typed_edge + bus_stops_visited[$k]+ " " +bus_stops_visited[$k+1]);
}

也许尝试另一种方法。 将您列入白名单/黑名单的值加载到数组中,并检查是否找到任何值。

if(["Either","Walkable"].indexOf(typed_edge) > -1)
{
    alert('got either or walkable here');
}

暂无
暂无

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

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