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
   81   82   83   84   85   86   87   88   89   90   91