流程控制 JavaScript

流程控制

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

简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行

流程控制主要有三种结构,分别是顺序结构分支结构循环结构,这三种结构代表三种代码执行的顺序

顺序流程控制

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

分支流程控制语句

分支结构

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

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

  • if 语句
  • switch 语句
if 语句
语法结构
// 条件成立执行代码,否则什么也不做
if (条件表达式) {
    // 条件成立执行的代码语句
}

语句可以理解为一个行为,循环语句和分支语句就是典型的语句。一个程序由很多个语句组成,一般情况下,会分割成一个一个的语句

执行流程

if else语句 ( 双分支语句 )
语法结构
// 条件成立 执行 if 里面代码,否则执行else里面的代码
if (条件表达式) {
    // [如果] 条件成立执行的代码
} else {
    // [否则] 执行的代码
}
执行流程

if else if语句 ( 多分支语句 )
语法结构
// 适合于检查多重条件
if (条件表达式1) {
    语句1;
} else if (条件表达式2) {
    语句2;
} else if (条件表达式3) {
    语句3;
 ....   
} else {
    // 上述条件都不成立执行此处代码
}
执行流程

三元表达式

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

switch 语句
语法结构

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

switch (表达式) {
    case value1:
        // 表达式 等于 value1 时要执行的代码
        break;
    case value2:
        // 表达式 等于 value2 时要执行的代码
        break;
    default:
        // 表达式 不等于任何一个 value 要执行的代码
}
switch 注意事项
  1. 我们开发里面 表达式我们经常写成变量
  2. 我们num 的值 和 case 里面的值相匹配的时候是 全等 必须是值和数据类型一致才可以 num === 1
  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 语句的执行效率比较高,而且结构更清晰

循环

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

断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下

断点调试可以帮我们观察程序的运行过程

  • 浏览器中按F12–> sources -->找到需要调试的文件–>在程序的某一行设置断点
  • Watch:监视,通过watch可以监视变量的值的变化,非常的常用
  • F11:程序单步执行,让程序一行一行的执行,这个时候,观察watch中变量的值的变化
JS 中的循环

在 JS 中,主要有三种类型的循环语句

  • for 循环
  • while 循环
  • do…while 循环
for 循环

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

语法结构

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

for (初始变化量; 条件表达式; 操作表达式;) {
	// 循环体
}
  • 初始化变量 就是用var 声明一个普通变量,通常用于作为计数器使用
  • 条件表达式 就是用来决定每一次循环是否继续执行 就是终止的条件
  • 操作表达式 是每次循环最后执行的代码 经常用于我们计数器变量进行更新(递增或递减)
执行过程

初始化变量 ——> 条件表达式 ——> 循环体 ——> 操作表达式 ——> 条件表达式 ——> 循环体 ——> 操作表达式 ——> …

初始化变量只执行一次,然后后面三个循环

for 循环小结
  • for 循环可以重复执行某些相同代码
  • for 循环可以重复执行些许不同的代码,因为我们有计数器
  • for 循环可以重复执行某些操作,比如算术运算符加法操作
  • 随着需求增加,双重for循环可以做更多、更好看的效果
  • 双重 for 循环,外层循环一次,内层 for 循环全部执行
  • for 循环是循环条件和数字直接相关的循环
  • 分析要比写代码更重要
  • 一些核心算法想不到,但是要学会,分析它执行过程
  • 举一反三,自己经常总结,做一些相似的案例
while 循环

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

while语句的语法结构如下:

while (条件表达式) {
    // 循环体代码
}
执行思路
  1. 先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码
  2. 执行循环体代码
  3. 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为 true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束
do while 循环

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

do…while 语句的语法结构如下:

do {
	// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while (条件表达式);
执行思路
  1. 先执行一次循环体代码
  2. 在执行条件表达式,如果结果为true,则继续执行循环体代码,如果为false,则退出循环,继续执行后面代码

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

循环小结
  • JS 中循环有 for、while、do…while
  • 三个循环很多情况下都可以相互替代使用
  • 如果是用来计次数,跟数字相关的,三者使用基本相同,但是我们更喜欢用 for
  • while 和 do…while 可以做更复杂的判断条件,比 for 循环灵活一些
  • while 和 do…while 执行顺序不一样,while 先判断后执行,do…while先执行一次,再判断执行
  • while 和 do…while 执行次数不一样,do…while 至少会执行一次循环体,而 while 可能一次也不执行
  • 实际工作中,我们更常用for循环语句,它写法更简洁直观,所以这个要重点学习
continue break
continue 关键字

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

break 关键字

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值