Page 100 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 100
switch ( t otalBet )
case 7 :
totalBet funds ;
break;
case 1 1 :
case 1 3 :
totalBet О ;
break;
case 2 1 :
totalBet 2 1 ;
brea ;
k
н
До сих пор все довольно просто: понятно, что Томас ничего е будет ставить,
если случайно вытащит 1 1 или 1 3 пенсов. Но что если число 1 3 выглядит намного
более зловеще, чем 1 1 , и требует не только воздержаться от ставки, но и отложить
пенни на милостыню? Для реализации этого достаточно лишь небольшой переделки.
e
switch ( t otalB t )
c a s e 7 :
totalBet funds ;
break;
case 1 3 :
funds = funds - 1 ; / / подать 1 пенс милостыни!
case 1 1 :
totalBet = О ;
break;
case 2 1 :
totalBet 2 1 ;
break;
Если totalBet составит 3 , мы подаем пенни милостыни, но поскольку оператора
1
(
break нет, выполняется переход к следующему разделу 1 1 ) , в котором переменной
totalBet присваивается значение О. Этот код вполне допустим в JavaScript, а кроме
того, он делает то, что мы и собирались сделать. Но у него действительно есть недо
статок: он выглядит ошибочным (хотя и правильный). Вообразите, что ваш колле
га увидел этот код и подумал "Так здесь же пропущен оператор break': Он добавит
оператор break, и код больше не будет правильным. Многие вполне справедливо по
лагают, что аварийный переход несет больше неприятностей, чем он того стоит, но
если вы решаете использовать его, то я рекомендую всегда включать комментарий,
поясняющий, что вы сделали это намеренно.
Вы также можете определить частный случай, default, который будет использо
ван, если никакой другой раздел не подходит. Обычно (но не обязательно), случай
defaul t располагают последним.
switch ( t o talB t )
e
case 7 :
Операторы управления потоком в JavaScript 99

