Может кто-нибудь объяснить мне, почему оба этих предупреждения «Истина»? Логический ИЛИ имеет смысл, я думаю - короткие замыкания ИЛИ после первого теста: 100! = 90, поэтому это правда. Почему происходит короткое замыкание И после первого теста и не продолжается?JS Logical And/Or
if (100 != 90 && 100 && 190 && 200 && 290){
alert("true");
} else {
alert("false");
}
if (100 != 90 || 100 || 190 || 200 || 290){
alert("true");
} else {
alert("false");
}
EDIT: СПАСИБО ВСЕМ ДЛЯ ВАШЕЙ ПОМОЩИ! Основе ваших предложений, я думаю, что я AMMEND мой код ЭТО:
var trains = [90,100,190,200,290];
var testValue = 100;
if (trains.indexOf(testValue) >= 0){
alert("true");
}
'если (! 100 = 90 && 100 && 190 && 200 && 290)' все это truthy. Что вы ожидали увидеть? –
Я подозреваю, что ошибка, которую вы делаете, состоит в том, что вы думаете, что 'if (100! = 90 && 100)' эквивалентно 'if (100! = 90 && 100! = 100)', который он просто не –
Точно, что я нужен Мэтт, спасибо – user3552105