Javascript分支结构

141 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天

流程控制-分支

流程控制

控制我们的代码按照一定结构顺序来执行

分类

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

image-20220621155824284.png

顺序结构

程序会按照代码先后顺序,依次执行

分支流程控制

由上到下执行,根据不同的条件,执行不同的代码,从而得到不同的结果

JS提供了两种结构分支语句

if 语句

  • 语法规范
if (条件表达式){
    执行语句;
}
  • 执行思路:如果if里面的条件为真则执行大括号里面的语句,反之执行后面的语句,不执行大括号里面的语句

if else 语句(双分支语句)

  • 语法规范
if (条件表达式){
    执行语句1;
} else {
    执行语句2;
}
  • 执行思路:如果为真执行语句1,如果为假则执行语句2

if else if (多分支语句)

  • 语法规范
if (条件表达式1){
    语句1;
} else if (条件表达式2){
    语句2;
} else if (条件表达式3){
    语句3;
} else if (...){
	...;       
} else{
    最后执行语句;
}
  • 多分支语句还是多选1最后只能有一个语句执行
  • else if 中间是有空格的,理论上可以有任意多个条件

三元表达式

  • 语法结构
条件表达式 ? 表达式1:表达式2p;
  • 执行思路:如果条件表达式结果为真则返回表达式1的值,如果条件表达式为假则返回表达式2的值
  • 和 if-else语句一样的作用

switch 语句

  • 可以实现多选1的效果
  • 语法规范
switch(条件表达式){
    case value1:
        执行语句1;
        break;
    case value2:
        执行语句2;
        break;
	...
    default:
    	执行最后的语句;
}
  • 执行思路:条件表达式的值与下面语句的值进行匹配,匹配成功则执行匹配到的那个值底下相应的语句,如果都没匹配上就执行default内的语句

  • 注意事项

    1. 我们开发当中,条件表达式我们经常写成变量
    2. 我们条件表达式的值要和case里面的值全等
    3. break 如果case里面没有break,则不会退出switch是执行下面的一个case
  • switch语句和if else if语句的区别

    1. 一般情况下,它们两个的语句可以相互替换

    2. switch...case语句通常处理case为比较确定值得情况,而if....else...语句更加灵活,常用于范围判断(大于、等于某个范围)

    3. switch语句进行条件判断后直接执行到程序得条件语句,效率更高。而if....else语句有几种条件,就得判断多少次

    4. 当分支较少时,if...else语句得执行效率比switch语句要高

    5. 当分支较多时,switch语句得执行效率比较高,而且结构更清晰