(建议收藏)JS基础入门四 - 流程语句
一、条件语句
条件if语句,用来指定符合条件后需要执行的语句,不符合条件不执行。
类似于选择器,选择正确的答案,必须符合题干条件。
条件语句有很多种语法格式,如下:
只有if关键字的条件语句
if(条件表达式){
当条件表达式成立的情况下才会执行的语句
}
案例:判断一个人的年龄是否满18岁,如果满足了,那么你可以进入网站继续观看暴力电影

满足条件,执行大括号中的语句体;不满足条件,跳出if语句,继续执行if语句后面的代码。
存在 else 的if语句
if(条件表达式){
当条件表达式成立的情况下才会执行的语句
}else{
条件表达式不成立执行的语句
}

通过观察,不难发现,if...else语句 可以和 三元运算进行转换,如上代码,可以用三元表达式优化,如下:

if else存在的多条件判断语句
if(条件一){
条件一满足执行的语句体
}else if(条件二){
不满足条件一,满足条件二执行的语句体
}....else if(条件N){
不满足N之前的条件,满足条件N执行的语句体
}else{
以上所有的条件都不满足执行的语句
}

注意:if语句最终只会执行一个满足条件的大括号中的语句
省略大括号的情况
如果if语句的大括号只有一条

如果有两条执行语句,省略大括号的情况下,直接报错


二、选择语句
switch语句,这是一个选择语句,根据条件去匹配对应的值,匹配成功,执行这条匹配下的语句。
语法格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
......
case 值N:
语句体N;
break;
default:
以上都不满足执行的语句体;
break;
}
注:default 语句可以写在 switch 中的任何位置,都是在 case 值都匹配不到的时候执行,习惯上放到最后。
default也可以省略,当不满足所有case时,不执行任何操作,直接跳出switch。
break是控制语句,打断的意思;这里用来跳出 switch 语句。也就是遇到break 语句就结束了。
需求一:请输入1-7之间的数字,判断今天是星期几

变种
switch 中的表达式书写 true, 在 case 后面去写条件表达式。当 case 后面条件表达式成立,即执行对应的语句体,否则继续向下匹配,直到匹配成功,遇到 break 跳出。
需求三:根据用户输入的性别和年龄,判断用户是否满足结婚年龄(男:23 女:20)

三、循环语句
生活见到的循环事件有:商场的电梯、传送带、拖拉机传送带、工厂中的机器、驴拉磨。
循环指的其实就是只要符合一定的条件,就会不停的执行某个动作。直到通过外力或者不符合条件后,才会结束循环。
在程序中的循环有三种:while循环、do...while循环、for循环。
3.1 while循环
语法格式:
while(条件表达式){
当条件表达式成立,执行此循环体
}
需求:循环输出 100 次 “Hello World!!”

执行顺序:
先定义表达式需要的变量,并赋初始值 var i = 0;
判断 while 循环中的表达式 i < 100是否成立
如果表达式成立,那么执行大括号中的循环体语句
console.log("Hello World!!");
并从循环体中,改变控制条件的变量的值 i++
重复执行第2步、第3步,直到 while 循环中的表达式 i < 100不成立,跳出循环为止
练习:循环输出1-100之间的所有整数(使用while循环实现)
3.2 do...while循环
语法格式
do{
循环体
}while(条件表达式);
不难发现,do..while 和 while循环最大的区别在于:do...while不管条件是否成立,都会至少执行一次循环。
需求:实现 10 次 “Hello World!” 的控制台输出。

解析:
当 i = 0 时,打印第 1 次 “Hello World!” 打印完成 i 自增变成 1
改变后的 i = 2 去和10做对比 i = 2 < 10 成立,条件成立,继续执行循环体 打印第 3 次 “Hello World!” 打印完成 i 自增变成 3
..... 5. 改变后的 i = 9 去和10做对比 i = 9 < 10 成立,条件成立,继续执行循环体 打印第 10 次 “Hello World!” 打印完成 i 自增变成10 6. 改变后的 i = 10 去和10做对比 i = 9 == 10 成立,条件不成立,跳出循环
改变后的 i = 1 去和10做对比 i = 1 < 10 成立,条件成立,继续执行循环体 打印第 2 次 “Hello World!” 打印完成 i 自增变成 2
练习:输出 1 - 100 之间,可以同时被 3 和 7 整除的整数(do...while实现)。
3.3 for循环
语法格式:
for(初始化变量; 条件表达式; 变量操作){
循环体
}
执行步骤:
初始化变量
判断条件表达式是否成立
条件表达式成立的情况下,执行循环体
变量的操作
继续执行第 2、3、4步,直到第 2 步中的条件表达式不成立为止,跳出循环

3.4 穷举思想
概述:我们想要得到一组数据,这些数据有特定的场景要求,计算机没有办法帮我们输出这些数据。我们需要人为的去编写一段程序,来实现这个功能:将所有可能符合要求数据,一一的列举出来,然后认为设置限制条件,将符合条件的数据筛选出来,不满足的跳过,继续验证下一个可能符合要求的数据,直到把所有可能的数据都验证一遍。这个方法就叫做穷举法,穷举法也叫全举法。
将可能符合要求的数据,使用for循环进行一一列举(遍历);
在for循环的内部,使用if条件语句对这些可能符合条件的数据,进行一一验证,筛选出真正的符合条件的数据。
代码演示:提示用户输入一个大于0的整数,在控制台输出这个数字所有的约数

四、控制语句
一般情况下,我们在执行循环时,只要是满足循环条件,那么循环体就会一直执行下去。
这个时候,我们想要在循环时,达到某种条件时,控制循环的执行,那么就用到控制语句。
控制语句有两个:break 和 continue
需求:遍历1-10之间的数字,当数字是6的时候,跳出循环;打印结果:1,2,3,4,5


continue 继续。在JS中,一般应用于循环语句中,用来跳过本次循环继续下一个循环
需求:遍历1-10之间的数字,当数字是6的时候,跳过本次循环继续下一次循环;打印结果:1,2,3,4,5,7,8,9,10


多层嵌套循环下,跳出或跳过指定循环

