• switch判断中,case后面跟逻辑表达式出错


    let status=1;
    switch (status) {
        case 1:
          console.log("status为1的时候你将做的事");
          break;
        case 2:
          console.log("status为2的时候你将做的事");
          break;
        case 3:
          console.log("status为3的时候你将做的事");
          break;
        case 4 || 5:
          console.log("status为4和5将做一样的事");
          break;
      }

    这样的表达式会执行status为1,2,3,4,但是不会执行status为5,因为前三条case的结果是直接的数值,而第四条case的运算结果是4,所以就会走不到status为5的时候。
    而要走到5的话,4和5就需要像前面几条case语句那样分开写。

    但实际上,在某些需求下,switch的case后面是可以跟逻辑表达式的。如:

    let score = 88;
      switch (true) {
        case score < 60:
          console.log("D");
          break;
        case score >= 60 && score < 70:
          console.log("C");
          break;
         case score >= 70 && score < 80:
          console.log("B");
          break;
        case score >= 80:
          console.log("A");
          break;
      }

    参考:https://www.cnblogs.com/yaotome/p/7222018.html

  • 相关阅读:
    修改MyEclipse工作空间
    Servlet
    Java虚拟机类加载机制
    编译执行和解释执行
    awt和swing
    构造函数
    小知识点
    [剑指Offer]42-连续子数组的最大和/ [LeetCode]53. 最大子序和
    [剑指Offer]40-最小的k个数
    [剑指Offer]47-礼物的最大价值(DP)
  • 原文地址:https://www.cnblogs.com/afafaa/p/14242718.html
Copyright © 2020-2023  润新知