流程控制就是来控制我们的代码按照什么结构顺序来执行
流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。
顺序结构
顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
分支结构
由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选-的过程) , 从而得到不同的结果
分支流程控制if语句
if 语句(单分支)
//条件成立执行代码,否则什么也不做
if (条件表达式) {
//条件成立执行的代码语句
}
if else语句(双分支语句)
//条件成立执行if里面代码,否则执行else里面的代码
if (条件表达式) {
// [如果]条件成立执行的代码
} else {
// [否则]执行的代码
}
if else if语句(多分支语句)
//适合于检查多重条件。
if (条件表达式1) {
语句1 ;
} else if (条件表达式2) {
语句2 ;
} else if (条件表达式3) {
语句3 ;
} else {
//上述条件 都不成立执行此处代码
}
三元表达式
三元表达式也能做一些简单的条件选择。 有三元运算符组成的式子称为三元表达式
条件表达式 ? 表达式1 :表达式2
如果条件表达式结果为真,则返回表达式1的值。如果条件表达式结果为假,则返回表达式2的值。
分支流程控制switch语句
switch语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置-系列的特定值的选项时,就可以使用switch.
switch(表达式) {
case value1 : 执行语句1; break ;
case value2 : 执行语句2; break ;
default : 执行最后的语句;
}
利用我们的表达式的值和case 后面的选项值相匹配。如果匹配上,就执行该case里面的语句。如果都没有匹配上,那么执行default 里面的语句。
表达式的值和case里面的值相匹配的时候是全等。
switch语句和if else if语句的区别
①一般情况下,它们两个语句可以相互替换。
②swith...case 语句通常处理case为比较确定值的情况,而f..else..语句更加灵活,常用于范围判断(大于、等于某个范围)
③switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而..else 语句有几种条件,就得判断多少次。
循环结构
在Js中,主要有三种类型的循环语询: for 循环 while 循环 do..while 循环。
在程序中, 一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句。
for 循环
for (初始化变量;条件表达式;操作表达式) {
/ /循环体
}
for重复执行某些代码,通常跟计数有关系。
断点调试
断点调试是指自己在程序的某一行设置一个断点 ,调试时,程序运行到这一行就会停住 ,然后你可以一步步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。
断点调试可以帮我们观察程序的运行过程
步骤:
浏览器中按F12--> sources -->找到需要调试的文件-->在程序的某一行设置断点
Watch:监视,通过watch可以监视变量的值的变化,非常的常用。
F11:程序单步执行,让程序一行行的执行 ,这个时候,观察watch中变量的值的变化。
循环嵌套
循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for循环,这样的for循环语句我们称之为双重for循环。
for (外层的初始化变量;外层的条件表达式;外层的操作表达式) {
for (里 层的初始化变量;里层的条件表达式;里层的操作表达式) {
// 执行语句;
}
}
while循环
while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。
while (条件表达式) {
//循环体代码
}
执行步骤:
①先执行条件表达式,如果结果为true ,则执行循环体代码;如果为false ,则退出循环,执行后面代码
②执行循环体代码。
③循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true ,则会继续执行循环体,到循环条件为false时,整个循环过程才会结束。
do while循环
do.... while语句其实是while语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。
do {
//循环体
} while (条件表达式)
continue关键字
continue关键字用于立即跳出本次循环,继续下一次循环(本次循环体中continue之后的代码就会少执行一次) 。
break关键字
break关键字用于立即跳出整个循环(循环结束)。