JS逻辑分支

119 阅读4分钟

程序

程序是由一条条语句构成

程序 = 程序语句 + 数据结构 + 算法

var num; // 变量申明语句
num = 100; // 变量赋值语句
console.log('内容') // 控制台输出语句
console.log('内容',num) // 内容100
alert('内容') //函数调用语句

逻辑分支语句

js代码都是顺序执行的(从上到下),逻辑分支就是根据设定好的条件来决定要不要执行某些代码

IF 条件分支结构

if 语句

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

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

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

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

if else 语句

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

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

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

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

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")
    }
    

if else if ... else 语句

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

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

SWITCH 条件分支结构

switch

语法:

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

要判断某一个变量等于某一个值得时候使用

switch穿透

匹配相应分支,执行 case 分支中语句,如果没遇到 break 语句,继承执行下一个分支

switch (值) {
    case1:
    分支执行的代码
    case2:
    分支执行的代码
    case3:
    分支执行的代码
    break //结束switch语句
    default:
    //默认分支执行代码
}

三元运算

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

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

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

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

单步调试

找程序错误 bug 的一种方式,让程序语句一条一条执行,观察程序语句执行输出情况

单步调试步骤:

  1. 断点
  2. 调试