Page 61 - 你不知道的JavaScript(下卷)
P. 61

你有时可能会编写出一系列的 if..else..if 语句,如下所示:

                   if (a == 2) {
                       // 做某件事情
                   }
                   else if (a == 10) {
                       // 做另一件事情
                   }
                   else if (a == 42) {
                       // 做另一件事情
                   }
                   else {
                       // 反馈到这儿
                   }
               这样的结构可以运行,但是有点繁复,因为你需要为每种情况都指定一个测试。switch 语
               句是另一种选择:

                   switch (a) {
                       case 2:
                           // 做某件事情
                           break;
                       case 10:
                           // 做另一件事情
                           break;
                       case 42:
                           // 做另一件事情
                           break;
                       default:
                           // 反馈到这儿
                   }
               如果只想要运行某个 case 下的语句,那么 break 是很重要的。如果某个 case 省略了
               break,而这个 case 匹配或运行的话,那么会一直执行到下一个 case 的语句,不管那个
               case 是否匹配。这种所谓的“通过(fall through)”有时是很有用的。

                   switch (a) {
                       case 2:
                       case 10:
                           // 某个很棒的东西
                           break;
                       case 42:
                           // 其他东西
                           break;
                       default:
                           // 反馈
                   }
               在上述示例中,如果 2 或者 10 匹配的话,那么就会执行“某个很棒的东西”代码语句。

               在 JavaScript 中,条件判断的另一种形式是“条件运算符”,通常被称为“三进制运算符”。
               它更像是单个 if..else 语句的紧凑版,如下所示:


               38   |   第 2 章
                                图灵社区会员 avilang(1985945885@qq.com) 专享 尊重版权
   56   57   58   59   60   61   62   63   64   65   66