JS 中的分支语句

73 阅读2分钟

什么是分支语句

  根据我们设置好的条件,然后来决定执行哪些代码

if 分支语句的基本书写

  if (条件) {满足条件的时候执行的代码, 如果不满足, 这里边的代码永远不执行}
                  条件最终会返回一个布尔值, 如果为真, 那么会执行对应的代码
                                           如果为假, 那么不会执行
   例:var a = 3
          if (a === 1) {         // 如果 a === 1 这个条件成立, 那么会执行打印 1
              console.log(1)
          }
          if...else... 的嵌套写法
              var a = 2
              if (a === 1) {
                     console.log(1)
              } else if (a === 2) {
                     console.log(2)
              } else {
                     console.log('a 不等于 1或者2')
             }

switch 分支语句

 switch 分支语句的基本书写
     switch (要判断的变量) {
              case 情况1:
                  情况1要执行的代码
                  break;
              case 情况2:
                  情况2要执行的代码
                  break;
              default:
                  上述情况都不满足时执行的代码
      }
      注意: switch...case 在判断时, 执行的时 全等, 也就是 === ,所以数据类型不同时, 也不会正确执行
   

switch 穿透语句的基本书写

      switch 在书写的时候 如果不写 break 会出现穿透现象
          穿透现象:
              找到第一个满足的 case 的时候, 开始执行这个代码
              执行完毕如果没有 break 会继续执行下一个 case
              直到 遇到一个 break 或者 分支语句全部执行完毕
          例://用switch穿透语法简化代码
                var mouth = 5
                switch (mouth) {
                   case 1 :
                   case 3 :
                   case 5 :
                   case 7 :
                   case 8 :
                   case 10 :
                   case 12 :
                       console.log('本月有 31 天')
                       break;
                   case 4 :
                   case 6 :
                   case 9 :
                   case 11 :
                        console.log('本月有 30 天')
                        break;
                   case 2 :
                        console.log('2月有 28 天')
                        break;
                }
                

三元表达式

        别名:三目,三目运算符,三目表达式,问号冒号表达式
 
        语法:条件  ? 条件为真的时候执行的代码  : 条件为假的时候执行的代码
 
        意义: 对if 分支语言做一个简化
 
        注意: 不管条件真还是假的代码 都只能写一行
        例:var a = 100
            a > 50 ? console.log('a 的值大于五十') : conlose.log('a 的值小于50')
            //利用三元表达式 给变量赋值
            var num = 1  //当num === 1 那么代表为男性,num 不等于 1 的时候代表为 女性
            var gender = num === 1 ? '男' : '女'
            console.log(gender)