流程控制语句


语句结构分类:

  1. 顺序结构 js默认由上至下执行
  2. 分支结构 js会根据条件的判断,决定是否执行某段代码
  3. 循环结构 js会根据条件的判断,反复的执行某段代码

分支语句

单分支

if后面()当中计算出来的最终一定是布尔值;

f执行过程:

? 1. 先计算小括号当中的值

? 2. 根据小括号当中的值,转化为布尔值

3.  根据转化出来的布尔值,决定是否需要执行花括号当中的代码块

双分支(三元表达式)

把一件事分成两种情况去处理;

if(一般都是一个表达式,但是最终只要有值就行,并且这个值最终会转化为boolean){
	代码块;
}else{
	代码块;
}

如果以后我们碰见if...else双分支语句,而且每个分支当中只有一条语句,就最好改成三元表达式(问号冒号表达式)

单分支和双分支分析

单分支和双分支其实都可以理解为双分支,也就是把一件事分成两种情况去处理,符合条件和不符合条件,

单分支只是处理了符合条件的,不符合条件的不管

双分支是都要处理;

多分支

多分支是把一件事分成多种情况去处理;

if (表达式) {
   代码块
} else if (表达式) {
   代码块
} else if (表达式) {
   代码块
} else {
   代码块
}

switch....case分支语句

switch 语句执行过程:

  1. 如果switch后面的小括号是表达式先求出switch后面表达式的值,否则跳过
  2. 再看case后面是表达式还是值,如果是表达式则求出值再和switch的值相比较,否则直接比较(注意是全等比较)
  3. 如果case后面的值和switch后面的值相等,则执行case后面的代码块,如果不等,则看下一个case的值,如果所有case的值和switch的值都不相等,则执行default(注意:无论default放在switch代码块的任何位置,都将最后执行)
  4. 再看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:在循环当中,跳出离它最近的一层循环

相关