簡體   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