五、JavaScript流程控制

时光毁灭记忆、已成空白 提交于 2019-12-08 13:59:31

1. 流程控制

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

2. 顺序流程控制

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

3. 分支流程控制 if 语句

3.1 分支结构 

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

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

 if 语句

 switch 语句 

3.2 if 语句
  3.2.1. 语法结构

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

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

  3.2.2. 执行流程 

3.3 if else语句(双分支语句)

  3.3.1. 语法结构 

// 条件成立  执行 if 里面代码,否则执行else 里面的代码 
if (条件表达式) {
     // [如果] 条件成立执行的代码
 } else {   
  // [否则] 执行的代码 
} 

  3.3.2. 执行流程 

3.4 if else if 语句(多分支语句) 

3.4.1. 语法结构 

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

3.4.2. 执行流程

4. 三元表达式 

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

4.1. 语法结构 

表达式1 ? 表达式2 : 表达式3; 

4.2. 执行思路  

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

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

5. 分支流程控制 switch 语句

5.1 语法结构

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

switch( 表达式 ){
      case value1:
         // 表达式 等于 value1 时要执行的代码
         break; 
    case value2:
         // 表达式 等于 value2 时要执行的代码
         break; 
    default:
         // 表达式 不等于任何一个 value 时要执行的代码 
} 

 switch :开关 转换 , case :小例子 选项
 关键字 switch 后面括号内可以是表达式或值, 通常是一个变量
 关键字 case , 后跟一个选项的表达式或值,后面跟一个冒号
 switch 表达式的值会与结构中的 case 的值做比较
 如果存在匹配全等(===) ,则与该 case 关联的代码块会被执行,并在遇到 break 时停止,整个 switch 语句代码 执行结束
 如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码
注意: 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句。

 

5.2 switch 语句和 if else if 语句的区别
① 一般情况下,它们两个语句可以相互替换

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

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

④ 当分支比较少时,if… else语句的执行效率比 switch语句高。 ⑤ 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。

6.for循环语法结构

6.1 for循环
for(初始化变量; 条件表达式; 操作表达式 ){
循环体
}
初始化变量:通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。
条件表达式:用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。
操作表达式:每次循环的最后都要执行的表达式。通常被用于更新或者递增计数器变量。当然,递减变量也是可以的。

6.2执行过程:
1. 初始化变量,初始化操作在整个 for 循环只会执行一次。
2. 执行条件表达式,如果为true,则执行循环体语句,否则退出循环,循环结束。
3. 执行操作表达式,此时第一轮结束。
4. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true ,则去执行循环体语句,否则退出循环。
5. 继续执行操作表达式,第二轮结束。
6. 后续跟第二轮一致,直至条件表达式为假,结束整个 for 循环。

6.3双重for循环执行过程:
for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
for (内循环的初始; 内循环的条件; 内循环的操作表达式) {
需执行的代码;
}
}
外层循环执行一次,内层循环执行完成一遍

 

7.while循环

while (条件表达式) {
// 循环体代码
}
while循环应该设置计数器,放置循环一直执行

 

8.do while 循环

do{

    // 循环体代码 

}while( 条件表达式 )

do-while循环和while循环相比,会在判断条件表达式之前先去执行一次循环体

 

9.continue关键字

continue:结束本次循环,调到下一次循环

 

10.break关键字

break:结束整个循环

 

11.命名规范以及语法格式

变量、函数的命名必须要有意义

变量的名称一般用名词  

函数的名称一般用动词 

操作符的左右两侧各保留一个空格

单行注释前面注意有个空格

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!