Page 86 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 86
Если запустить эту программу как есть, то она будет выполняться бесконечно,
поскольку, начав с 50 пенсов, наличная сумма никогда не увеличится и не уменьшит
ся, поэтому условие всегда останется истинным. Тем не менее, прежде чем присту
пать к подробностям, необходимо поговорить о блоках операторов (Ыосk statement).
Блоки операторов
Блоки операторов (иногда называемые составными операторами (compound
statement)) не являются операторами управления потоком выполнения, но идут взяв
шись с ними за руки. Блок операторов - это только набор операторов, заключенных
в фигурные скобки и рассматриваемый JavaScript как единый блок. Хотя вполне мож
но создать блок операторов сам по себе, ни смысла, ни удобства в этом особого нет.
/ / начало блока операторов
console . l og ( " statement l " J ;
console . l og ( " statement 2 " ) ;
/ ! конец блока операторов
console . l og ( " s t atement 3 " ) ;
Первые два вызова conso e . log находятся в блоке; это бессмысленно, но вполне
l
допустимо.
Блоки операторов становятся полезными совместно с операторами управления
потоком. Например, в цикле оператора wh l e выполняется весь б л ок операторов,
i
и только затем проверяется условие снова. Например, если бы мы хотели сделать
"два шага вперед и шаг назад", то мы могли бы написать
let funds = 5 0 ; / / Начальное условие
while ( funds > 1 & & funds < 1 0 0 ) {
funds funds + 2 ; // два шага вперед
funds funds - 1 ; // один шаг назад
i
Этот цикл wh l e в конечном счете закончится: за каждый цикл значение funds
увеличивается на два и уменьшения на единицу. В конечном счете значение funds со
ставит 100, и цикл закончится.
Использование блока операторов при управлении потоком очень распростране
1
но, но не обязательно. Например, если мы хотим просто посчитать до 0 0 парами, то
блок операторов не обязателен.
let funds = 5 0 ; 1 1 Начальное условие
while ( funds > 1 & & funds < 1 0 0 )
funds = funds + 2 ;
Учебник для новичков в управлении потоком 85

