В заявлении if
есть сложное условие, и как-то не получается, как я хочу.Сложная заявка на выпуск IF
if (
(statementA1) ||
(statementA2) &&
(statementB) &&
(statementC)
) {
doSomething
}
Оба A1
и A2
не могут быть истинными одновременно (из-за характера фактического заявления). Кроме того, как B
, так и C
должны оценивать значение true, чтобы обеспечить полное соответствие действительности. Таким образом, только для true false true true
и false true true true
должно быть возвращено true
; любая другая перестановка должна возвращать false
.
Заявления находятся в фигурных скобках из-за их внутренней сложности (в том числе Math.abs()
, A1
и B
имеют внутренние, комбинированные подстанции).
Если приоритет оператора затруднен для вас, вы всегда можете разбить один блок на несколько вложенных. Но да, логический И имеет более высокий приоритет, чем OR. – dfsq
'a || b && c' анализирует как 'a || (b && c) '. – melpomene
Его не слишком сложно, он слишком зациклен на этом вопросе (переписал тот же фейер, что и 3 раза на этой неделе), и на данный момент у меня нет никого, кто мог бы обсудить это. Его довольно отвратительно само по себе, не вставляя ничего внутрь. –