JavaScript——流程控制

一. 流程控制

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

  • 简单理解: 流程控制就是来控制我们的代码按照什么结构顺序来执行
  • 流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序

在这里插入图片描述

二. 顺序流程控制

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

在这里插入图片描述

三. 分支流程控制

1. 分支结构

由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果
在这里插入图片描述
JS 语言提供了两种分支结构语句

  • if 语句
  • switch 语句

2. if 语句

2.1 语法结构

在这里插入图片描述
语句可以理解为一个行为,循环语句和分支语句就是典型的语句。一个程序由很多个语句组成,一般情况下,会分割成一个一个的语句

2.2 执行流程

在这里插入图片描述

3. if else语句(双分支语句)

3.1 语法结构

在这里插入图片描述

3.2 执行流程

在这里插入图片描述

4. if else if 语句(多分支语句)

4.1 语法结构

在这里插入图片描述

4.2 执行流程

在这里插入图片描述

5. 三元表达式

三元表达式也能做一些简单的条件选择。 有三元运算符组成的式子称为三元表

5.1 语法结构

在这里插入图片描述

5.2 执行思路

如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值

  • 简单理解: 就类似于 if else (双分支) 的简写

6. switch 语句

6.1 语法结构

switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用 switch

在这里插入图片描述
在这里插入图片描述

6.2 switch 语句和 if else if 语句的区别

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

四. 循环流程控制

1. 循环

1.1 循环目的

在实际问题中,有许多具有规律性的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句

1.2 JS 中的循环

在这里插入图片描述

2. for 循环

在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句

2.1 语法结构

for 循环主要用于把某些代码循环若干次,通常跟计数有关系。其语法结构如下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 for 循环重复相同的代码

for循环可以重复相同的代码 ,比如我们要输出10句“媳妇我错了”

在这里插入图片描述

2.3 for 循环重复不相同的代码

for 循环还可以重复不同的代码,这主要是因为使用了计数器 ,计数器在每次循环过程中都会有变化。

  • 例如,求输出一个人1到100岁
    在这里插入图片描述
    在这里插入图片描述

2.4 for 循环重复某些相同操作

for 循环因为有了计数器的存在,我们还可以重复的执行某些操作,比如做一些算术运算

3. 双重 for 循环

3.1 双重 for 循环概述

很多情况下,单层 for 循环并不能满足我们的需求,比如我们要打印一个 5 行 5 列的图形、打印一个倒直角三角形等,此时就可以通过循环嵌套来实现

在这里插入图片描述

3.2 双重 for 循环语法

在这里插入图片描述

  • 内层循环可以看做外层循环的语句
  • 内层循环执行的顺序也要遵循 for 循环的执行顺序
  • 外层循环执行一次,内层循环要执行全部次数

4. while 循环

while 语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。

while语句的语法结构如下:
在这里插入图片描述
执行思路:

  • 先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码
  • 执行循环体代码
  • 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束

注意:

  • 使用 while 循环时一定要注意,它必须要有退出条件,否则会成为死循环
  • while 循环和 for 循环的不同之处在于 while 循环可以做较为复杂的条件判断,比如判断用户名和密码

5. do while 循环

do… while 语句其实是 while 语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。

do… while 语句的语法结构如下:
在这里插入图片描述
执行思路:

  • 先执行一次循环体代码
  • 再执行条件表达式,如果结果为 true,则继续执行循环体代码,如果为 false,则退出循环,继续执行后面代码

注意:先再执行循环体,再判断,我们会发现 do…while 循环语句至少会执行一次循环体代码

6. continue break

6.1 continue 关键字

continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)

  • 例如,吃5个包子,第3个有虫子,就扔掉第3个,继续吃第4个第5个包子,其代码实现如下

在这里插入图片描述

6.2 break 关键字

break 关键字用于立即跳出整个循环(循环结束)。

  • 例如,吃5个包子,吃到第3个发现里面有半个虫子,其余的不吃了,其代码实现如下:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值