JS学习笔记之流程控制 4.10

1 简介

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

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

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

2  流程控制-分支

2.1 顺序流程控制

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

2.2 分支流程控制 if 语句

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

JS 语言提供了两种分支结构语句:if 语句和switch 语句

1.if 语句

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

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

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

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

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

 2.3 元表达式 

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

1. 语法结构

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

2. 执行思路

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

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

2.4 分支流程控制 switch 语句

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

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

要点:

关键字 switch 后面括号内可以是表达式, 通常是一个变量关键字 case , 后跟一个选项的表达式后面跟一个冒号

switch 表达式的值会与结构中的 case 的值做比较

如果存在匹配全等(===) 则与该 case 关联的代码块会被执行,并在遇 break 时停止,整个 switch 语句代码执行结束

如果所有的 case 的值都和表达式值不匹配则执行 default 里的代码

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

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

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

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

当分支比较少时,ifelse语句的执行效率比 switch语句

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

流程控制-循环

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

for 循环

while 循环

do...while 循环

3.1 for 循环

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

语法结构如下:

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

执行过程:

1. 初始化变量初始化操作在整个 for 循环只会执行一

2. 执行条件表达式,如果为true,则执行循环体语句,否则退出循环,循环结束。

3. 执行操作表达式,此时第一轮结束。

4. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果true ,则去执行循环体语句,否则退出循环。

5. 继续执行操作表达式,第二轮结束。

6. 后续跟第二轮一致,直至条件表达式为假,结束整个 for 循环

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

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

浏览器中F12--> sources -->找到需要调试的文件-->在程序的某一行设置断点

案例:求1-100之间所有整数的累加和

var sum = 0;
for(var i = 1;i <= 100; i++){
        sumNum += i;
}
console.log('1-100之间整数的和 = ' + sum);

3.2 双重 for 循环

循环 嵌套 是指 在一个循环语句中再定义一个循环语句的语法 结构 ,例如在 for 循环语句中,可以再嵌套一个 for 循环,这样的 for 循环语句我们称之为 双重 for 循环
for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
    for (内循环的初始; 内循环的条件; 内循环的操作表达式) {  
       需执行的代码;
   }
}
内层循环可以看做外层 循环的语句
内层循环执行的顺序也要遵循 for 循环的执行
外层循环执行一次,内层循环要执行全部次数

3.3 while 循环 

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

while语句的语法结构如下:

while (条件表达式) {
    // 循环体代码 
}

执行思路

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

执行循环体代码

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

3.4 do while 循环

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

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

do {
    // 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);

执行思路:

先执行一次循环体代码

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

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

3.5 continue break

1.continue 关键字

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

2.break 关键字

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

命名规范以及语法格式

1.标识符命名规范

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

变量的名称一般用名词 

函数的名称一般用动词 

2. 操作符规范

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

3. 单行注释规范

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

4. 其他规范

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值