Page 95 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 95
Мы также собираемся оставить блок-схемы. Это прекрасный инструмент визу
ализации (особенно для тех, кто лучше воспринимает информацию визуально), но
они слишком громоздки.
По правде говоря, операторы управления потоком можно разделить на две катего
рии: условные выражения ( conditional), они же ветвления (branching), и циклы (loop ). У с
(
ловные выражения для управления потоком выполнения i f и f . . . else, которые мы
i
уже видели, и swi tch, который мы рассмотрим вскоре) обеспечивают ветвление пути:
если есть два или больше путей, то они обеспечивают выбор. Операторы цикла (while,
.
do . . wh l e и for) повторяют выполнение тела операторов, пока соблюдается условие.
i
Исключе н и я в у п р а в л е н и и потоком
Есть четыре оператора, позволяющие изменить нормальный ход управления по-
током. Можете считать их "козырными картами" управления потоком.
• Оператор break. Немедленно прерывает цикл.
• Оператор continue. Переходит к следующему шагу в цикле.
• Оператор return. Осуществляет выход из текущей функции (независимо бло
ка, в котором он находится). (См. главу 6.)
• Оператор throw. Вызывает исключение в программе (exception), которое следу
ет обработать обработчиком исключений (он может находиться за пределами
1
текущего оператора управления потоком). (См. главу 1 .)
Использование операторов станет понятнее впоследствии; а пока достаточно
знать, что эти четыре оператора способны изменить поведение конструкций управ
ления потоком.
Сцеплен и е операторов if . . . e l s e
н
.
Фактически сцепление операторов i f . . е l s е - это е специальный синтаксис,
e
а просто серия операторов f . . . e l se, в которой каждая директива l s e содержит
i
другой оператор i f . . . e l s e . Это вполне обычная схема, заслуживающая упомина
ния. Например, если суеверие Томаса начнет простираться на дни недели и он начнет
ставить в среду только по одному пенни, мы могли бы выразить эту логику в виде
.
цепочки операторов if . . else.
i f (new Date ( ) . g etDay ( ) 3 ) 1 1 пеw Da te () . g etDay () возвращает
/ / текущий день
totalBet = 1 ; 1 1 номер дня недели, где О = воскресенье
else i f ( f unds === 7 )
totalBet = funds ;
else {
й
console . l og ( " Здecь нет никаких суевери ! " ) ;
94 Глава 4. Управление потоком

