阅读 38

吃透JavaScript核心——流程控制

流程控制

在一个程序的执行过程中,各条代码的执行顺序对程序结果由直接影响,很多时候需要通过控制代码的执行顺序来实现我们要完成的功能。

流程控制有三种结构:

  • 顺序结构
  • 分支结构
  • 循环结构

顺序流程控制

顺序流程控制是最简单最基本的流程控制,没有特定语法结构,程序会按照代码的先后顺序,依次执行。

分支流程控制if语句

从上到下执行代码的时候,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。

  • if语句
    • 单分支语句
      //1.语法结构
      if(条件表达式){
          //执行语句
      }
      //2.执行思路
      //3.代码体验
      if(3>5){
          alert('hellow world!');
      }
      复制代码
    • 双分支语句
      //1.语法结构
      if(条件表达式){
          //执行语句1
      } else{
          //执行语句2
      }
      //2.执行思路
      //3.代码验证
      复制代码
    • 多分支语句
      //1.语法结构
      if(条件表达式1){
          //语句1
      } else if(条件表达式2){
          //语句2
      } else{
          //语句3
      }
      //2.执行思路
      //3.代码验证
      复制代码

三元表达式

有三元运算符组成的式子我们称为三元表达式。简化版的if-else。

//1.语法结构
//条件表达式?表达式1:表达式2
//2.执行思路
//3.代码验证
复制代码

分支流程控制switch语句

针对变量设置一系列特定值的选项时,就可以使用switch。

switch(表达式){
    case value1:
        执行语句1;
        break;
    case value2:
        执行语句2;
        break;
    ...
    default:
        执行最后的语句;
}
复制代码
  • case后的value匹配时,要求是全等。
  • 实际开发中,表达式经常写成变量。
  • 如果当前的case里没有break,则不会退出switch,继续执行下一个case。

switch和if else if的区别。

  • 一般情况,两个语句可以相互替换。
  • switch...case语句通常处理case为比较确定的值的情况,而if...else...语句更加灵活,常用于大范围判断(大于、等于某个范围)
  • switch进行条件判断后直接执行到程序的条件语句,效率更高。而if...else语句有几种条件,就得判断多少次。
  • 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。
文章分类
前端
文章标签