Вот, есть цикл, который выводит простые числа от 2 до 10:
nextPrime:
for(l et i = 2; i <= 10; i++ ) {
for (l et j = 2; j < i; j++ ) {
if ( i % j == 0 ) continue nextPrime;
}
alert( i );
}
Я не пойму, как он может продолжать работать, если во вложенном цикле условие УЖЕ возвращает false.
То есть.
Сразу у внешнего цикла возвращается цифра 2 (алгоритм: начало (i = 2), проверка условия (i <= 10, то есть 2 <= 10) , вывод, затем увеличиваем значение на 1 (i++) ).
После того, как внешний цикл возвращает цифру 2 начинает работать вложенный цикл. И получается, такой же самый алгоритм (начало, проверка, вывод). Но, вот тут уже у меня ступор.
Как внутренний цикл продолжает работать, если у него проверка условий получается j < i (2 < 2)? Это ведь false, так как 2 равна двум, а никак не меньше.
Или я не правильно понимаю алгоритм работы циклов?