Page 87 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 87

Отступ
          По  большей части дополнительный отступ (включая символ перевода строки2):
       не влияет на работу интерпретатора JavaScript: один пробел так же хорош, как и  1 0 ,
       а 1 О пробелов - как и 1  О новых строк. Это не означает, что вы можете использовать
                                                                i
       отступ как попало. Например, приведенный выше оператор wh l e   эквивалентен
       while ( funds  >  1  & &   funds  <  1 0 0 )

       funds  =  funds  +  2 ;
          Однако так взаимоотношения этих двух операторов не вполне очевидны! Такое
       форматирование вводит в заблуждение, и его следует избегать. Однако следующие
       эквиваленты весьма распространены, а кроме того, они более однозначны.

       / /  без  новой  строки
       while ( funds  >  1  & &   funds  <  1 0 0 )   funds  =  funds  +  2 ;

       / /   без  новой  строки,  блок  с  одним  оператором
       while ( funds  >  1  & &   funds  <  1 0 0 )    {  funds  =  funds  +  2 ;   }
          Некоторые люди настаивают, чтобы тела оператора управления потоком (для еди­
       нообразия и ясности) всегда были блоком операторов (даже если они содержат толь­
       ко один оператор). Хотя я и не принадлежу к этому лагерю, я должен указать, что
       небрежные отступы иногда сильно вводят в заблуждение.
       while ( funds  >  1  & &   funds  <  1 0 0 )
           funds   funds  +  2 ;
           funds  =  funds  - 1  ;

          На первый взгляд, в теле цикла while выполняется два оператора (два шага впе­
       ред и один назад), но поскольку никакого блока операторов здесь нет, JavaScript ин­
       терпретирует это так.
       while ( funds  >  1  &&  funds  <  1 0 0 )
           funds  =  funds  +  2 ;   //  тело  цикла  while

       funds  =  funds  - 1 ;    / /  после  цикла  while
          Я сторонник тех, кто говорит, что отсутствие блоков для тел с одиночным опе­
       ратором вполне допустимо, но, конечно, вы всегда должны нести ответственность
       за отступ, чтобы ясно выражать свое намерение. Кроме того, работая в группе или
       над проектом реализации с открытым исходным кодом, вы должны придерживаться
       всех принятых группой стилистических правил независимо от ваших личных пред­
       почтений.


       2 Новые строки после оператора return приводят к проблемам; дополнительная информация при­
       ведена в главе 6.


       86       Глава 4. Управление потоком
   82   83   84   85   86   87   88   89   90   91   92