Вложенные циклы JS

Подскажите пожалуйста, есть простая задача по выводу простых чисел. Вот код:

`nextPrime:
for (let i = 2; i <= 10; i++) {
  for (let j = 2; j < i; j++) {
    if (i % j == 0) continue nextPrime;
  }

  alert( i );
}`

Код полностью рабочий. Хочу понять, почему j во вложенном цикле сбрасывается, при увеличении i


Ответы (1 шт):

Автор решения: krakodeel

Потому что внутри первого цикла ты целиком определил второй цикл. Так и должно быть. Вот если бы j зависело от i или инициализировалось раньше тогда могло бы быть иначе.

Например вот второй случай, когда инициализация innerCounter делается до внешнего цикла:

let innerCounter = 0

for(let outerCounter = 0; outerCounter < 11; outerCounter++){
  for(;innerCounter<outerCounter*10 + 1;innerCounter++){
    console.log([outerCounter, innerCounter]);
  }
}
→ Ссылка