美文网首页
JS 条件分支语句--篇6

JS 条件分支语句--篇6

作者: 扶得一人醉如苏沐晨 | 来源:发表于2023-10-13 08:56 被阅读0次

    一、if 分支

    1、if 语句

    语法:if (条件) { 代码 }

    只要条件满足就执行 {} 里面的代码,只要条件不满足就不执行 {} 里面的代码

       var age = 16
        // 因为 age >= 18 得到的结果是 false
        // 所以 {} 里面的代码不会执行
        if (age >= 18) {
          console.log('在网吧上网')
        }
    
    
     var num = 203
        if (10 < num && num < 100) {
          console.log(num + ' 是在 10 ~ 100 之间')
        } else {
          console.log(num + ' 不是在 10 ~ 100 之间')
        }
    

    2、if … else 语句

    语法:if (条件) { 条件成立就执行 } else { 条件不成立就执行 }

    条件满足执行 if 后面的 {} 里面的代码,条件不满足就执行 else 后面的 {} 里面的代码

     var age = 16
        if (age >= 18) {
          console.log('去网吧上网')
        } else {
          console.log('在家里上网')
        }
    
    /*
            闰年:
            公历年数是4的倍数,且不是100的倍数,为普通闰年
            即:year % 4 === 0 && year / 100 !== 0
    
            公历年数是整100的倍数,且是400的倍数,为世纪闰年
            即:year % 400 === 0
        */
        var year = prompt('请输入年份')
    
        if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
          alert(year + ' 是闰年')
        } else {
          alert(year + ' 是平年')
        }
    

    拓展:三元(三目)运算符

    var age = 15
        age >= 18 ? console.log('成年') : console.log('未成年')    // 未成年
    

    3、if … else if 语句

    语法:if (条件1) { 条件1满足就执行 } else if (条件2) { 条件2满足就执行 } …

    第一个条件开始,哪一个条件满足了,就执行哪一个条件后面的 {} 里面的代码

    前面的条件满足了,后面的条件就全部不管了,直接跳过

     var age = 2
        if (age >= 23) {
          console.log('我可以结婚了')
        } else if (age >= 14) {
          console.log('我可以谈恋爱了')
        } else if (age >= 6) {
          console.log('可以和女同学坐同桌')
        }
    

    4、if … else if … else 语句

    语法:if (条件) { 成立就执行 } else if (条件2) { 条件2 成立就执行 } … else {}

    从第一个条件开始,哪一个条件满足了,就执行哪一个条件后面的 {} 里面的代码

    有的条件都不满时,就执行 else 后面 {} 里面的代码

     if (age >= 23) {
          console.log('我可以结婚了')
        } else if (age >= 14) {
          console.log('我可以谈恋爱了')
        } else if (age >= 6) {
          console.log('可以和女同学坐同桌')
        } else {
          console.log('只能在家和小姨玩')
        }
    

    5、拓展:和页面进行一个小小的交互

    // prompt 会弹出一个输入框让用户输入内容
        // result 接收的就是用户输入的内容
        var result = prompt('请输入你的银行存款')
    
        // 判断如果你的银行存款 > 十万, 咱俩可以聊会天
        // 判断如果你的银行存款 < 十万, 那么我还有事不好意思
        if (result >= 100000) {
          alert('hello nice to meet you!')
        } else {
          alert('我还有事, 先走了, 不好意思')
        }
    

    二、 switch分支

     // 准备一个变量
        var num = 1
        // switch 语法
        switch (num) {
          case 1:
            console.log('你输入的是 1 这个数字')
            break
          case 2:
            console.log('你输入的是 2 这个数字')
            break
          case 3:
            console.log('你输入的是 3 这个数字')
            break
          default:
            console.log('所有条件都不满足')
        }
        console.log('后续代码继续执行')
    

    1、解释单词

    switch 开关,道岔

    case 情况,方案

    default 默认

    break 断开,断点

    2、注意

    1、小括号里面直接写要判断的变量就可以,不需要符号

    2、case 后面的情况不能写范围的比较,只能是全等(===)的比较

    3、每一个 case 后面的 break 都要写上,如果不写,会发生一个穿透的情况

    穿透:就是不管下一个 case 是不是满足,都会执行下一个 case 的代码

    4、向下穿透的效果,会从第一个满足的 case 开始向下穿透,知道遇到一个break为止

    5、default 可以写,也可以不写

    要是写了default,那么所有条件都不满足时就有代码执行

    要是不写default,那么所有条件都不满足时就没有代码执行

    3、小案例

     /*
          根据一个 1 ~ 12 的数字, 给出反馈, 当月又多少天
            通过一个年份的变量来确定 2 月是 28 天还是 29 天
        */
    
        // 1. 准备一个数字
        var month = prompt('请输入一个 1 ~ 12 之间的数字表示月份')
        var year = prompt('请输入一个四位数字作为年份使用') - 0
    
        // 非加法的数学运算可以转换成数字
        // 减 0 不改变原始大小
        month = month - 0
    
        // 利用 switch 穿透效果来写
        switch (month) {
          case 1:
          case 3:
          case 5:
          case 7:
          case 8:
          case 10:
          case 12:
            console.log(month + ' 月有 31 天')
            break
          case 4:
          case 6:
          case 9:
          case 11:
            console.log(month + ' 月有 30 天')
            break
          case 2:
           // 通过 year 来判断是平年还是闰年
            if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
              console.log(month + ' 月有 29 天')
            } else {
              console.log(month + ' 月有 28 天')
            }
            break
          default:
            console.log('请输入一个 1 ~ 12 之间的数字')
        }
    

    三、if 语句和 switch 语句的区别

    1、if 条件判断可以判断范围
    当你需要单位判断的时候,推荐使用 if 语句

    2、switch 只能准确判断
    当你需要准确判断,并且判断的还比较多的时候,推荐使用 switch 语句

    相关文章

      网友评论

          本文标题:JS 条件分支语句--篇6

          本文链接:https://www.haomeiwen.com/subject/tdwibdtx.html