Какая разница в использовании оператора увеличения перед оператором continue в цикле while? (JavaScript)

#javascript #loops #while-loop #break #continue

#javascript #циклы #цикл while #перерыв #продолжить

Вопрос:

Я пытался написать код по учебному пособию по использованию оператора «continue» в цикле while. В руководстве код был написан так, как показано ниже, и он работал нормально.

             ...var x = 1;
            document.write("Entering loop");

            while (x < 20) {
                x  ;
                if (x == 5) {
                    continue;
                }
                
                document.write(x   "<br />");
            }
            document.write("Exiting the loop");...
  

но я попробовал это по-другому, и это привело к бесконечному циклу, когда я поместил оператор increment после блока «if», как показано ниже.

                 ...
                var x = 1;
                document.write("Entering loop");
    
                while (x < 20) {
                    
                    if (x == 5) {
                        continue;
                    }
                    x  ;
                    document.write(x   "<br />");
                }
                document.write("Exiting the loop");
               ...
  

Я пытался разобраться в этом, но мне не удалось это понять. Почему это так?

Комментарии:

1. Один раз x равный 5, он будет продолжаться бесконечно и никогда больше не будет корректировать x

2. Вы знаете continue , что текущий цикл немедленно прерывается и запускается следующий?

Ответ №1:

The

                 if (x == 5) {
                    continue;
                }
  

один означает, что x никогда не изменится, как только оно достигнет 5. Помещение x перед этим означает, что x изменится.

С x после цикл будет continue каждый раз бесконечно.