[英]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.