JavaScript 分支结构

分支结构

  • 我们的 js 代码都是顺序执行的(从上到下)

  • 逻辑分支就是根据我们设定好的条件来决定要不要执行某些代码

IF 条件分支结构

if 语句

  • 通过一个 if 语句来决定代码执行与否

  • 语法: if (条件) { 要执行的代码 }

  • 通过 () 里面的条件是否成立来决定 {} 里面的代码是否执行

    // 条件为 true 的时候执行 {} 里面的代码
    if (true) {
      alert('因为条件是 true,我会执行')
    }
    ​
    // 条件为 false 的时候不执行 {} 里面的代码
    if (false) {
        alert('因为条件是 false,我不会执行')    
    }

if else 语句

  • 通过 if 条件来决定,执行哪一个 {} 里面的代码

  • 语法: if (条件) { 条件为 true 的时候执行 } else { 条件为 false 的时候执行 }

  • 两个 {} 内的代码一定有一个会执行

    // 条件为 true 的时候,会执行 if 后面的 {} 
    if (true) {
      alert('因为条件是 true,我会执行')
    } else {
      alert('因为条件是 true,我不会执行')
    }
    ​
    // 条件为 false 的时候,会执行 else 后面的 {}
    if (false) {
      alert('因为条件为 false,我不会执行')
    } else {
      alert('因为条件为 false,我会执行')
    }

案例:

//能被4整除切不能被100整除

     var year=2014
​
     
​
       if(year % 4 ==0 && year % 100 !==0){
​
            console.log(year,'是闰年')
​
        } else if(year %400==0){
​
            console.log(year,'是世纪闰年')
​
        }
​
        else {
​
            console.log(year,'是普通年')
​
        } 

if else if ... 语句

  • 可以通过 if 和 else if 来设置多个条件进行判断

  • 语法:if (条件1) { 条件1为 true 的时候执行 } else if (条件2) { 条件2为 true 的时候执行 }

  • 会从头开始依次判断条件

    • 如果第一个条件为 true 了,那么就会执行后面的 {} 里面的内容

    • 如果第一个条件为 false,那么就会判断第二个条件,依次类推

  • 多个 {} ,只会有一个被执行,一旦有一个条件为 true 了,后面的就不在判断了

    // 第一个条件为 true,第二个条件为 false,最终会打印 “我是代码段1”
    if (true) {
      alert('我是代码段1')
    } else if (false) {
        alert('我是代码段2')           
    }
    ​
    // 第一个条件为 true,第二个条件为 true,最终会打印 “我是代码段1”
    // 因为只要前面有一个条件满足了,就不会继续判断了
    if (true) {
      alert('我是代码段1')
    } else if (true) {
      alert('我是代码段2')
    }
    ​
    // 第一个条件为 false,第二个条件为 true,最终会打印 “我是代码段2”
    // 只有前一个条件为 false 的时候才会继续向后判断
    if (false) {
      alert('我是代码段1')
    } else if (true) {
      alert('我是代码段2')
    }
    ​
    // 第一个条件为 false,第二个条件为 false,最终什么也不会发生
    // 因为当所有条件都为 false 的时候,两个 {} 里面的代码都不会执行
    if (false) {
      alert('我是代码段1')
    } else if (false) {
      alert('我是代码段2')
    }

if else if … else 语句

  • 和之前的 if else if ... 基本一致,只不过是在所有条件都不满足的时候,执行最后 else 后面的 {}

    // 第一个条件为 false,第二个条件为 false,最终会打印 “我是代码段3”
    // 只有前面所有的条件都不满足的时候会执行 else 后面的 {} 里面的代码
    // 只要前面有一个条件满足了,那么后面的就都不会执行了
    if (false) {
      alert('我是代码段1')
    } else if (false) {
      alert('我是代码段2')
    } else {
      alert('我是代码段3')
    }

SWITCH 条件分支结构

也是条件判断语句的一种

是对于某一个变量的判断

语法:

switch (要判断的变量) {
  case 情况1:
    情况1要执行的代码
    break
  case 情况2:
    情况2要执行的代码
    break
  case 情况3:
    情况3要执行的代码
    break
  default:
    上述情况都不满足的时候执行的代码
}

要判断某一个变量 等于 某一个值得时候使用: 根据变量给出的数字显示是星期几

案例:
var week = 2
switch (week) {
  case 1:
    alert('星期一')
    break
  case 2:
    alert('星期二')
    break
  case 3:
    alert('星期三')
    break
  case 4:
    alert('星期四')
    break
  case 5:
    alert('星期五')
    break
  case 6:
    alert('星期六')
    break
  case 7:
    alert('星期日')
    break
  default:
    alert('请输入一个 1 ~ 7 之间的数字')
}

案例:

/输入分数,判定成绩等级 (成绩对应等级 90-100:A级 80-89:B级 70-79:C级 60-69:D级 其它:不合格)/

    var result=82
​
      switch (true) {
​
           case (result>=90 && result<=100):
​
           console.log('成绩',result,'等级','A级')
​
           break
           
​
           case (result>=80 && result<=89):
​
           console.log('成绩',result,'等级','B级')
​
           break
​
           case (result>=70 && result<=79):
​
           console.log('成绩',result,'等级','C级')
​
           break
​
 
         case (result>=60 && result<=69):
​
           console.log('成绩',result,'等级','D级')
​
           break
​
 
           case (result>=0 && result<60):
​
           console.log('成绩',result,'等级','D级')
​
           break
​
       }

三元运算(扩展)

  • 三元运算,就是用 两个符号 组成一个语句

  • 三元运算只是对 if else 语句的一个简写形式

  • 语法: 条件 ? 条件为 true 的时候执行 : 条件为 false 的时候执行

    var age = 18;
    age >= 18 ? alert('已经成年') : alert('没有成年')

案例:

//三个数比较大小

 var a=34
​
      var b=56
​
      var c=27
​
      var max
​
       max= a>b?a : b 
​
       max= max>c?max:c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值