Есть простейший к примеру код:
if(a > 1)
if(a > 2) ..todo;
else ..nothing;
Если a > 1 но оказывается не больше 2 то происходит действия в else.
Почему так? Ведь else относится к false самой первой проверки а не её внутренней? Если я внесу выражение в фигурные скобки:
if(a > 1){
if(a > 2) ..todo;
}
else ..nothing;
То при a больше 1 но не больше 2 else не сработает. Разве по логике без скобок не должно быть тоже самое? Это ведь просто сокращение а не направление внутреннего if к внешнему else даже если оно следует далее в коде.
Ведь else относится к false самой первой проверки
Нет.
В яваскрипте отступы не играют роли. Поэтому else относится к ближайшему if.
Т.е данный код
if(a > 1)
if(a > 2) ..todo;
else ..nothing;
На самом деле является таким:
if(a > 1){
if(a > 2) {
..todo;
}
else {
..nothing;
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости