Что означает "еще" в одной строке, если оператор соответствует?
В JavaScript я путаюсь с вложенными if
когда JS-компилятор / движок имеет этот код для интерпретации
if (cond1)
if (cond2)
statement1
else
statement2
(Это не с отступом нарочно)
Это интерпретируется так?
if (cond1) {
if (cond2) {
statement1
}
}
else {
statement2
}
Или вот так?
if (cond1) {
if (cond2) {
statement1
}
else {
statement2
}
}
Возникает вопрос: соответствует ли "else" первому или второму "if"?
Я также хотел бы знать, есть ли у этой проблемы интерпретации какое-то имя (например, "приоритет оператора") (я уверен, что оно есть). Я не могу найти эту проблему в Интернете, потому что я не знаю, как искать ее по названию.
Это может быть немного очевидно, но я собираюсь сказать это: я спрашиваю о javascript, потому что использую его прямо сейчас, но этот вопрос может касаться почти любого процедурного языка.
1 ответ
Это должен быть второй в JS. Это приведет к ошибке в python и ударит вас по носу в php, как только коллега отладит ваш код.