sharp97
@sharp97
не фонтан но брызги есть

Почему игнорируется условие if?

в общем не понимаю почему вот это условие просто не хочет отрабатывать, я уверен что я красавчик всё правильно делаю, но увы чёта оно не пашет, почему понять не могу
if (parseInt(number.innerHTML) == 0){
  let step = 3;
  } else {
  let step = parseInt(number.innerHTML) - 1;
  }

https://codepen.io/sharpprahs/pen/rNrwvBv
  • Вопрос задан
  • 112 просмотров
Решения вопроса 2
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
1. Если что-то не работает как задумано, первое что нужно сделать это открыть инструменты разработчика на вкладке console и посмотреть нет ли там никаких ошибок. Если есть то загуглить их и посмотреть где они возникают. Попытаться осознать и исправить. А ещё лучше научиться отладке собственного кода https://learn.javascript.ru/debugging-chrome
2. Перед тем как пользоваться тем или иным способом объявления переменных (var\let\const) стоит почитать про него и ознакомиться с нюансами.
https://medium.com/nuances-of-programming/%D0%B2-%...

А именно:
if (parseInt(number.innerHTML) == 0){
  let step = 3;
  } else {
  let step = parseInt(number.innerHTML) - 1;
  }

Переменной step не существует вне фигурных скобок, соответственно, ниже, где Вы пытаетесь засунуть step как innerHTML - возникает ошибка, что step не определена.
Ответ написан
@YK21
разберитесь с областью действия переменных

в каждой ветке условия у Вас своя переменная step
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы