流程控制主要有以下三种结构,分别是:
顺序结构 分支结构 循环结构
顺序结构:没有特定结构,按顺序执行代码
分支结构:执行代码的过程当中,根据不同的条件,执行不同的代码。
第一种:
if(条件){
语句
}
条件满足,语句就执行,不满足不执行
第二种:
if(条件){
语句1
} else{
语句2
}
条件满足,执行语句1,条件不满足,执行语句2
第三种:
if(条件1){
语句1
} else if(条件2){
语句2
} else if(条件3){
语句3
} else{
语句4
}
第四种:
三元表达式:条件1?成立2:不成立3:;
如果条件1为true,则返回成立2的值。如果条件1为false,则返回不成立3的值。
Eg:
var num=421;
var num=123?console.log(密码正确) :console.log(密码错误);
输入num是否为123,如果是,输出密码正确,如果不是,输出密码错误
输入值为421,显然输出反馈给用户的信息的是密码错误
第五种:
switch语句:它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列
的特定值的选项时,就可以使用 switch
switch(表达式){
case value1:
表达式等于value1时要执行的代码
break;
case value2:
表达式等于value2时要执行的代码
break;
default:
表达式不等于任何一个value值时要执行的代码
}
switch语句和if语句的区别:
switch…case语句通常处理case为比较确定值的情况,而if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)。
switch语句进行条件判断后直接执行到程序的条件语句,而if…else…语句有几种条件,就得判断几次(从上到下依次判断)。
当分支比较少时,if…else…语句的执行效率比switch语句更高。
当分支比较多时,switch语句的执行效率比if…else…语句更高,结构也更清晰。
循环结构:在程序中需要反复执行某个功能而设置的一种 程序 结构
第一种:
for循环:
for(初始化变量①; 条件表达式②; 操作表达式③ ){
循环体④
}
初始化变量:其实就是用var声明一个普通的变量,并且这个变量通常是作为计数器使用。
条件表达式:用来决定每一次循环是否继续执行,也就是循环的终止条件。
操作表达式:每次循环最后执行的代码,经常用于更新计数器(递增或递减)。
循环体:一组被重复执行的语句。
执行流程:
1. 初始化变量,初始化操作在整个 for 循环只会执行一次。
2. 执行条件表达式,如果为 true,则执行循环体语句,否则退出循环,循环结束。
3. 执行操作表达式,此时第一轮结束。
4. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true,则去执行循环体
语句,否则退出循环。
5. 继续执行操作表达式,第二轮结束。......
整体执行顺序为:① ② ④ ③ ② ④ ③ ② ④ ③ ...... ② 循环结束
第二种:
while循环:
while (条件表达式) {
循环体代码
}
1. 先执行条件表达式,如果结果为 true,则执行循环体代码;
如果为 false,则退出循环,执行后面代码
2. 执行循环体代码
3. 循环体代码执行完毕后,程序会继续判断执行条件表达式。
while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。
第三种:
do while循环:
do {
循环体代码 - 条件表达式为 true 时重复执行循环代码
} while(条件表达式);
do while 是先执行代码,在进行判断,所以 do while 至少执行一次。
JavaScript 的 continue 与 break:
continue 关键字用于跳出本次循环,继续下一次循环。
具体使用方式和效果参见CSDNhttps://mp.csdn.net/mp_blog/creation/editor/126907107
break 关键字用于立即跳出整个循环,使循环结束。