mzin1985
@mzin1985
дилетант полный

Как разобраться в коде JavaScript про циклы?

let n = 10

for(let i = 2; i <= n; i++) {
let j = i
while(j-- > 1) if (i % j === 0) break
if (j === 1) alert(i)
}
начинаю изучать код. Пытаюсь разобраться в чужих решениях
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov Куратор тега JavaScript
https://github.com/yarkovaleksei/toster-extension
Михаил, даже с выводом в консоль, чтобы понятнее было:
let n = 10;

for (let i = 2; i <= n; i++) { // цикл повторяется пока i меньше или равно 10
  let j = i;

  console.log('j, i =', j, i);

  while (j-- > 1) { // уменьшаем j на единицу и проверяем больше 1 или нет
    console.log('while', j, i);

    if (i % j === 0) { // если i делится на j без остатка, то прерываем цикл while
      console.log('break', j, i);
      break;
    }

    if (j === 1) { // если j равен 1, то выводим уведомление
      console.log('alert', j, i);
      alert(i);
    }
  }
}
Ответ написан
@DLeo13
Обратите внимание на приоритет выполнения операторов и на разницу между --j и j--.
Ответ написан
Ваш ответ на вопрос

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

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