技术交流QQ群:1027579432,欢迎你的加入!

1.流程控制

  • 在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。
  • 简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行。
  • 流程控制主要的三种结构:
    • 顺序结构
    • 分支结构
    • 循环结构

2.顺序流程控制

  • 顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

3.分支流程控制if语句

3.1 分支结构
  • 由上到下执行的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程)。
  • JS语言中提供了两种分支结构语句:
    • if语句
    • switch语句
3.2 if语句
  • 语法结构
    if (条件表达式){
        // 执行语句
    }
3.3 if-else语句
  • 语法结构
    if (条件表达式) {
        // 执行语句1
    } else {
        // 执行语句2
    }
3.4 if-else-if语句(多分支语句)
  • 语法结构
    if (条件表达式1) {
        // 执行语句1;
    } else if (条件表达式2) {
        // 执行语句2;
    } else if (条件表达式3){
        // 执行语句3;
    }
    ...
    else {
        // 执行语句4
    }

4.三元表达式

  • 三元表达式也能做一些简单的条件选择,由三元运算符组成的式子称为三元表达式。
  • 语法结构
    条件表达式 ? 表达式1 : 表达式2;
  • 执行步骤:如果条件表达式结果为真,则返回表达式1;如果条件表达式结果为假,则返回表达式2;

5.分支流程控制switch语句

5.1 语法结构
switch(表达式) {
    case value1:
        // 执行语句1
        break;
    case value2:
        // 执行语句2
        break;
    ...
    default:
        // 执行最后的语句
}
  • switch语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列特定的选项时,就可以使用switch语句。
  • switch语句使用注意事项
    • 实际开发过程中,switch (表达式)中的表达式我们经常写成变量;
    • switch (表达式)中的表达式和case中的值相匹配时,必须是全等===,即值和数据类型必须完全一致才可以
    • break:如果当前的case中没有break,则不会退出switch,则会继续执行下一个case。
5.2 switch语句和if-else-if语句的区别
  • 一般情况下,它们两个语句可以互相替换;
  • switch...case语句通常处理case比较确定值的情况,而if...else语句更加灵活,常用于范围判断(大于等于某个范围);
  • switch...case语句进行条件判断后直接执行到程序的条件语句,效率更高。而if...else语句有几种条件,就需要判断多少次;
  • 当分支比较少时,if...else语句的执行效率比switch...case语句高;
  • 当分支比较多时,switch...case语句的执行效率比较高,而且结构更加清晰。