概要

  1. switch语句
  2. 三元运算符

    1、switch语句

    多个if…else连在一起使用的时候,可以转为使用更方便的switch结构。

    1. switch (fruit) {
    2. case "banana":
    3. // ...
    4. break;
    5. case "apple":
    6. // ...
    7. break;
    8. default:
    9. // ...
    10. }

    上面代码根据变量fruit的值,选择执行相应的case。如果所有case都不符合,则执行最后的default部分。需要注意的是,每个case代码块内部的break语句不能少,否则接下来会去执行下一个case代码块,而不是跳出switch结构。
    需要注意的是,switch语句后面的表达式,与case语句后面的表达式比较运行结果时,采用的是严格相等运算符(===),而不是相等运算符(==)。

    练习:输入月份,显示当月的天数,利用case穿透简化代码。

    1. /*
    2. 输⼊⽉份,显示当⽉的天数, 利⽤case穿透简化代码
    3. 1.31天:1、3、5、7、8、10、12
    4. 2.30天:4、6、9、11
    5. 3.2月份:
    6. 闰年:29
    7. 平年:28
    8. 什么是闰年?
    9. 1、通常能被4整除的年份是闰年,不能被4整除的年份是平年。
    10. 如:1988年2008年是闰年;2005年2006年2007年是平年。
    11. 2、如果是世纪年,即整百年能被400整除是闰年,否则是平年。
    12. 如:2000年就是闰年,1900年就是平年。
    13. */
    14. var year = 2100;
    15. var month = 2;
    16. switch (month) {
    17. case 1: case 3: case 5: case 7: case 8: case 10: case 12:
    18. console.log("31天");
    19. break;
    20. case 4: case 6: case 9: case 11:
    21. console.log("30天");
    22. break;
    23. case 2:
    24. if (year % 4 === 0 && year % 400 == 0) { // 闰年
    25. console.log("29天");
    26. } else {
    27. console.log("28天");
    28. }
    29. break;
    30. default:
    31. console.log("您输入了不正确的值");
    32. break;
    33. }

    2、三元运算符

    JS还有一个三元运算符(即该运算符需要三个运算子)?:,也可以用于逻辑判断

    1. (条件) ? 表达式1 : 表达式2

    上面代码中,如果“条件”为true,则返回“表达式1”的值,否则返回“表达式2”的值

    1. (n % 2 === 0) ? true : false;

    上面代码中,如果n可以被2整除,则even等于true,否则等于false。它等同于下面的形式。

    1. if (n % 2 === 0) {
    2. console.log("偶数")
    3. } else {
    4. console.log("奇数")
    5. }

    这个三元运算符可以被视为if…else…的简写形式,因此可以用于多种场合。