流程控制语句
语句结构分类:
- 顺序结构 js默认由上至下执行
- 分支结构 js会根据条件的判断,决定是否执行某段代码
- 循环结构 js会根据条件的判断,反复的执行某段代码
分支语句
单分支
if后面()当中计算出来的最终一定是布尔值;
f执行过程:
? 1. 先计算小括号当中的值
? 2. 根据小括号当中的值,转化为布尔值
3. 根据转化出来的布尔值,决定是否需要执行花括号当中的代码块
双分支(三元表达式)
把一件事分成两种情况去处理;
if(一般都是一个表达式,但是最终只要有值就行,并且这个值最终会转化为boolean){
代码块;
}else{
代码块;
}
如果以后我们碰见if...else双分支语句,而且每个分支当中只有一条语句,就最好改成三元表达式(问号冒号表达式)
单分支和双分支分析
单分支和双分支其实都可以理解为双分支,也就是把一件事分成两种情况去处理,符合条件和不符合条件,
单分支只是处理了符合条件的,不符合条件的不管
双分支是都要处理;
多分支
多分支是把一件事分成多种情况去处理;
if (表达式) {
代码块
} else if (表达式) {
代码块
} else if (表达式) {
代码块
} else {
代码块
}
switch....case分支语句
switch 语句执行过程:
- 如果switch后面的小括号是表达式先求出switch后面表达式的值,否则跳过
- 再看case后面是表达式还是值,如果是表达式则求出值再和switch的值相比较,否则直接比较(注意是全等比较)
- 如果case后面的值和switch后面的值相等,则执行case后面的代码块,如果不等,则看下一个case的值,如果所有case的值和switch的值都不相等,则执行default(注意:无论default放在switch代码块的任何位置,都将最后执行)
- 再看case后面是否有break;如果没有,则继续向下执行,如果有,则终止本次switch循环
注意:case后面没有{},只有:
switch(表达式或者直接是个值){
case 值/表达式:
代码块;
break;
case 值/表达式:
代码块;
break;
default:
代码块;
break;
}
循环语句
for循环
语法
for(代码块1;代码块2;代码块3){
代码块4;
}
代码块1一般是初始化表达式;
代码块2一般是条件表达式;
代码块3 一般是自增自减表达式;
执行过程
第一次循环:
? 首先执行代码块1
? 接着执行代码块2
? 然后再去执行代码块4
? 最后执行代码块3
非第一次:
? 首先执行代码块2
? 接着执行代码块4
? 最后执行代码块3
while循环
while (一般都是条件表达式) {
循环体
}
? 表达式一般写循环变量的结束条件;
? 在写控制条件前需要初始化一个循环变量;
? 循环变量的自增量写在循环体的最后;
do...while循环
do{
循环体代码块;
}while(表达式)
while和do...while的区别:
while循环执行的时候,会先进行条件判断,如果条件为真,就执行循环体,如果为假,就跳出循环;
? do...while执行的时候,会先执行一遍循环体,然后再进行条件判断,如果条件为真,继续执行循环体,如果条件为假,就跳出循环;
break和continue的关键字
continue
作用:结束本次循环,返回从下一次继续开始
break
作用1:在switch语句当中是跳出switch
作用2:在循环当中,跳出离它最近的一层循环