Цикл Do While в JavaScript

JavaScript

JavaScript 1.2 представил цикл do while, который является вариантом формы цикла while. Этот тип цикла в точности похож на обычный цикл while, с одним лишь отличием.

Условие или выражение оценивается в конце цикла, а не в начале. Это означает, что тело цикла всегда выполняется по крайней мере один раз.

Общий синтаксис цикла do while в JavaScript выглядит следующим образом:

// Initialization:
  do {
// Loop body;
  statement(s);
  Increment/decrement;
 } while (test conditional expression);

В этом типе цикла сначала выполняется тело цикла, а затем оценивается условное выражение.

В операторе цикла while сначала оценивается условие теста, а затем выполняется тело цикла. Если условие изначально ложно, тело цикла вообще не будет выполняться.

Однако иногда может потребоваться выполнить операторы в теле цикла по крайней мере один раз, прежде чем тест выполнится. Мы можем справиться с такими ситуациями с помощью цикла do-while в JavaScript.

Цикл do-while всегда выполняет операторы в теле цикла по крайней мере один раз, прежде чем выражение будет оценено, поскольку его проверочное условное выражение находится в конце цикла.

Тестовое условие внутри оператора do while должно быть булевым выражением, которое генерирует либо true, либо false. Нам не нужно использовать фигурные скобки, если внутри цикла do...while есть только один оператор. В приведенном выше синтаксисе do и while являются ключевыми словами.

Блок-схема цикла Do while в JavaScript

Блок-схема выполнения цикла do-while в JavaScript показана на рисунке ниже.

Диаграмма блок-схемы цикла JavaScript Do while

Из блок-схемы цикла do-while видно, что сначала выполняется тело цикла, а затем оценивается условное выражение цикла, чтобы определить, следует ли продолжать или завершить цикл.

Если оценка истинна, тело цикла выполняется снова. Этот процесс продолжается до тех пор, пока условие проверки не станет ложным.

Когда указанное условие ложно, цикл завершается. Управление выполнением выходит из цикла do-while и переходит к следующему оператору, который появляется сразу после оператора do-while. Поскольку указанное условие проверяется в нижней части цикла, цикл do...while обеспечивает управляемый выходом цикл.

Рассмотрим следующий пример.

<script>
 let count = 1;
 do {
   document.write("This is do while loop statement.");
   count++;
 }while(count > 2);
</script>

В этом примере сначала выполнится оператор в цикле. После этого переменная count увеличится на 1. Затем интерпретатор JavaScript проверит логическое выражение внутри оператора while.

Поскольку после вычисления выражение даст значение false, оператор в цикле будет выполнен только один раз.

Примеры на основе цикла do while

Рассмотрим простой пример программы, в которой мы будем отображать числа от 1 до 6 с помощью оператора цикла do-while.

Пример 1:

<script>
  let x;
  x = 1; // starting number is 1.
  do {
    document.write(x, "<br>"); // print x value.
    x++; // increment x value by 1.
  } while(x <= 6); // This statement will execute as long as x <= 6.
</script>
Output:
     1
     2
     3
     4
     5
     6

а) В этом примере значение x изначально установлено равным 1. Поэтому оно отображается как 1.

б) Теперь оператор выражения x++ увеличит значение x на 1. В результате значение x станет равным 2. Условное логическое выражение x <= 6 проверяется интерпретатором JavaScript.

в) Поскольку это условие истинно, поток выполнения вернется назад, и значение x, т.е. 2, отобразится в браузере.

г) Затем значение x снова увеличивается и становится равным 3. Поскольку 3 также меньше 6, поток снова возвращается назад и отображает значение x.

д) Таким образом, этот процесс продолжается до тех пор, пока значение x не станет меньше или равно 6.

f) Поскольку значение x больше 6, условие будет ложным и цикл завершится.

Рассмотрим еще один пример программы, основанной на операторе do while, в которой мы выведем на экран таблицу умножения.

Пример 2:

<script>
  let row, column;
  document.write("Multiplication Table:", "<br>");
  row = 1; // Initialization.
  do {
    column = 1;
    do {
       let x = row * column;
       document.write(x, " ");
       column = column+1;
    }while(column <= 5);
    document.write("<br>");
    row = row+1;
  } while(row <= 5);
</script>
Output:
     Multiplication Table:
     1 2 3 4 5
     2 4 6 8 10
     3 6 9 12 15
     4 8 12 16 20
     5 10 15 20 25

В этом примере программы цикл do-while находится во вложенной форме и генерирует приведенный выше вывод.

Пример 3:

<script>
  let n = 1;
  do {
    document.write("This is a do while loop.");
    n++;
  }while(n > 3);
</script>
Output:
   This is a do while loop.

Разница между циклом while и циклом do-while в JavaScript

Между циклом while и циклом do-while в JavaScript есть три основных различия:

1. В цикле while проверяется первое тестовое условие, а затем выполняются операторы внутри блока while.

В цикле do-while выполняются первые операторы внутри блока do, а затем проверяется тестовое условие.

2. Если тестовое условие ложно в первый раз, то блок операторов внутри цикла while выполнится ноль раз.

Если тестовое условие ложно в первый раз, то блок операторов будет выполнен по крайней мере один раз.

3. В синтаксисе while оператор while находится наверху, тогда как в синтаксисе do-while оператор while находится внизу.

В этом уроке вы изучили оператор цикла do while в JavaScript с примерами программ. Надеюсь, вы поняли основные концепции оператора цикла do while. В следующем уроке мы изучим оператор цикла for в JavaScript, который также является фундаментальным оператором цикла.

Оцените статью
Adblock
detector