Содержание

JavaScript | Оператор do-while — efim360.ru

Синтаксис оператора do-while

DoWhileStatement [Yield, Await, Return]:

do Statement [?Yield, ?Await, ?Return]while ( Expression [+In, ?Yield, ?Await]) ;

 

Статическая семантика: ранние ошибки

DoWhileStatement : do Statement while ( Expression ) ;

Если IsLabelledFunction(Statement) истинно true, это синтаксическая ошибка.

Примечание

Это правило необходимо применять только в том случае, если реализовано расширение, указанное в B.3.2.

 

Семантика времени выполнения: DoWhile оценка цикла

С параметром labelSet.

DoWhileStatement : do Statement while ( Expression ) ;

1.  Пусть V будет undefined.
2. Повторять,
   a. Пусть stmtResult будет результатом оценки Statement.
   b. Если LoopContinues(stmtResultlabelSet) является false, вернуть Completion(UpdateEmpty(stmtResultV)).
   c. Если stmtResult.[[Value]] не является empty, установить V на stmtResult.[[Value]].
   d. Пусть exprRef будет результатом оценки Expression.
   e. Пусть exprValue будет ? GetValue(exprRef).
   f. Если ! ToBoolean(exprValue) является false
, вернуть NormalCompletion(V).

 

Как понять синтаксис оператора 

do-while? Последовательность действий для создания
  1. Шаг первый — пишем зарезервированное слово «do».
  2. Ставим пробел
  3. Ставим левую фигурную скобку
  4. Шаг второй — пишем один из 14 вариантов высказывания (Statement)
  5. Ставим правую фигурную скобку
  6. Ставим пробел
  7. Шаг третий — пишем зарезервированное слово «while».
  8. Ставим пробел
  9. Ставим левую круглую скобку
  10. Шаг четвёртый — пишем выражение (Expression)
  11. Ставим правую круглую скобку

 

Пример работы оператора 

do-while

BlockStatement может состоять из Block. Block может состоять из

{ StatementList }. В общем речь идёт о фигурных скобках.

var i = 0;
do {i++} while ( i < 5 );

// 5

До тех пор пока переменная i будет меньше пяти мы будем прибавлять к переменной i значение 1 (один). То есть мы сначала делаем, а потом проверяем условие. Когда условие выполнится, тогда мы уже НЕ будем делать.

По итогу переменная i будет равна 5 (пяти). А что означает цифра 4, которую показал браузер? Это количество итераций цикла do-while

, при котором условие возвращало истину true.

 

Условие успешно проверено 4 раза и 1 раз неуспешно — do-while — JavaScript

Логика работы такова. Мы сначала присвоим переменой i значение 1, а потом первый раз успешно проверим условие. 2 — 2. 3 — 3. 4 — 4.

Дойдём до пятого преобразования. Выполним пятое преобразование. Потом в пятый раз проверим условие и оно окажется ложным. Цикл прекратится из-за лжи — делаться больше ничего не будет.

 

Варианты Statement — смотреть на сайте стандарта

BlockStatement
VariableStatement
EmptyStatement
ExpressionStatement
IfStatement
BreakableStatement
ContinueStatement
BreakStatement
[+Return]ReturnStatement
WithStatement
LabelledStatement
ThrowStatement
TryStatement
DebuggerStatement

 

Информационные ссылки

JavaScript | Зарезервированные слова (ReservedWord)

Алгоритмические обозначения

Условные обозначения

Стандарт ECMAScript — Раздел «12.6. 2 Keywords and Reserved Words» — https://tc39.es/ecma262/#prod-ReservedWord

Стандарт ECMAScript — Раздел «14.7.2 The do-while Statement» — https://tc39.es/ecma262/#sec-do-while-statement

 

Использование цикла do while в JavaScript

В этом уроке мы покажем вам, как написать цикл « do while » в JavaScript.

В JavaScript цикл do while позволяет запускать код до начала выполнения цикла.

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

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

В следующих нескольких разделах мы покажем вам, как написать цикл do while, и приведем несколько примеров его использования.

Синтаксис цикла do while в JavaScript

Этот цикл основан на стандартном цикле while JavaScript, слегка изменив его характеристики, позволяя вам запускать код до запуска цикла.

Цикл do while в JavaScript начинается с ключевого слова « do », за которым следует блок кода ( { } ).

В этом блоке кода находится код, который вы хотите запустить. JavaScript запустит этот код до того, как будет проверено условие while.

После блока кода вы ссылаетесь на ключевое слово « while », за которым следует условие, заключенное в квадратные скобки ( ( ) ). Если это условие истинно, JavaScript перезапустит ваш блок кода.

Поток выполнения цикла do while

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

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

Чтобы продемонстрировать поток выполнения цикла do while в JavaScript, воспользуемся следующим примером.

Имея под рукой наш фрагмент кода, давайте быстро пройдемся по потоку выполнения циклов.

  1. Перед началом цикла выполняется кодовый блок ( { } ), указанный после ключевого слова do .

    В приведенном выше примере мы генерируем случайное число между 0 и 10 .

  2. После выполнения блока кода оценивается условие while.

    В нашем случае мы проверяем, является ли наше случайное число не равным 5 .

    Если условие верно , цикл вернется к шагу 1 .

  3. Альтернативно, если условие while равно false , цикл завершится.

Пример цикла do while в JavaScript

Теперь, когда мы знаем синтаксис цикла do while, давайте рассмотрим несколько примеров его использования в JavaScript.

Оба этих примера будут достаточно похожи, но покажут разные способы использования такого цикла.

Основное использование цикла do while

В этом первом примере мы напишем простой цикл do while на JavaScript. С помощью этого цикла мы будем считать от 0 до 5 .

Хотя это и не лучшее использование цикла do while, оно даст вам представление о том, как он работает.

Мы начинаем наш сценарий с создания переменной с именем « count » и присвоения ей значения 0 .

В блоке кода « do{} » мы записываем значение нашего « count », затем увеличьте ее на единицу с помощью оператора постинкремента ( x++ ).

Наконец, у нас есть условие « while() ». Здесь мы проверяем, является ли « count » на меньше или равно 5 . Если это правда, он вернется к началу цикла.

Запустив этот JavaScript, вы получите результат, подобный показанному ниже.

Цикл do while, генерирующий случайное число

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

Мы начинаем наш пример с создания переменной с именем « random_number » и присвоения ей значения 0 .

В следующей строке мы запускаем цикл do while нашего JavaScript, используя ключевое слово « do ». В этом цикле мы генерируем случайное число между 0 и 20 . Это число генерируется с использованием функции « Math.random() ».

Поскольку « Math.random() » генерирует число с плавающей запятой, мы используем « Math.floor() », чтобы округлить его до ближайшего целого числа.

Наконец, мы используем цикл « while() », чтобы проверить, не равно ли « random_number » 10 . Цикл будет продолжаться до тех пор, пока случайное число не станет равным 10 .

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

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

Заключение

В этом руководстве мы показали вам, как написать и использовать цикл do while в JavaScript.

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

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

Обязательно ознакомьтесь с другими нашими руководствами по кодированию на JavaScript или, если вы хотите изучить другой язык, ознакомьтесь с другими нашими руководствами по кодированию.

do-while · Темы GitHub · GitHub

Вот 42 публичных репозитория соответствует этой теме…

адитьямангал1 / C-программирование

Звезда 11

КакПрограммированиеРаботает / Итерация

Звезда 10

АлианАмарал / JAVA_estruturas_repetitivas

Звезда 9

halilozel1903 / КотлинПример

Спонсор Звезда 5

омарбелкади / CPP

Звезда 2

stdlib-js / утилиты-асинхронный-до-до

Спонсор Звезда 2

Фадиманакилчи / Csharp-According-To-The-Key-Pressed-On-The-Keyboard

Звезда 2

stdlib-js / утилиты-асинхронный-делать-пока

Спонсор Звезда 2

Джош-лодка365 / Do-While-Loop

Звезда 2

Код Карллуизы / логин-система

Звезда 2

капнслип / DoWhileDo

Звезда 2

stdlib-js / утилиты-делать-пока

Спонсор Звезда 1

stdlib-js / утилиты-делать-пока-каждое-право

Спонсор Звезда 1

stdlib-js / утилиты-делать-до-каждого-правильно

Спонсор Звезда 1

stdlib-js / утилиты-делать-до-каждого

Спонсор Звезда 1

родригелитесуза / JavaScript-Гуанабара

Звезда 1

stdlib-js / utils-do-while-каждый

Спонсор Звезда 1

Код Карллуизы / система заказов

Звезда 1

Эянтра698Суманто / Basic-C-программы

Звезда 1

stdlib-js / утилиты-делать-пока

Спонсор Звезда 1

Улучшить эту страницу

Добавьте описание, изображение и ссылки на делать пока страницу темы, чтобы разработчикам было легче узнать о ней.