目录
流程控制
流程控制就是控制代码按照什么样的顺序来执行,最后达到我们要的效果
主要有三种结构:顺序结构,分支结构,循环结构
顺序流程控制
顺序结构就是程序按照代码的先后顺序,依次执行。
分支流程控制if语句
分支结构:从上到下执行,会根据不同的条件,执行不同路径代码(做选择在路口做选择),最后得到不同的效果。
if(条件表达式) { 执行语句}
//若条件表达式为true 则执行花括号里面的语句,反则不执行花括号里面的继续向下执行语句
if(条件表达式) { 执行语句1}else{执行语句2}
//若条件表达式为true 则执行语句1,反则执行语句2
if(条件表达式1) { 执行语句1}
else if(条件表达式2){执行语句2}
else if(条件表达式3){执行语句3}...
else{执行语句n}
/*若条件表达式1为true 则执行语句1,若条件表达式2true则执行语句2
以此类推,若都为false,则执行else里面的语句*/
三元表达式
三元表达式可以做一些简单的选择,由三元运算符组成的式子称为三元表达式
//语法结构
/*条件表达式? 表达式1 :表达式2*/
/*如果条件表达式结果为true,则返回表达式1,反则返回表达式2*/
var num = 10;
var result = num > 1 ? '确实大于' : '确实小于'
alert(result);
分支流程控制switch 语句
switch 也是可以实现多选一的目的
switch(表达式){
case value1: //注意表达式里的跟value必须是全等 值和类型相等
执行语句1; //否则只能执行default里的语句
break; //break 如果不写,则不会结束,会继续往下执行下一个case
case value2:
执行语句2;
break;
.......
default:
执行最后的语句;
}
/*表达式内的值跟case 后的 value值相匹配
如果对上了,就执行内里的语句然后再执行break
如果case后面的value都没对上就执行default*/
switch 语句和 if else if 语句的区别
-
一般情况下,它们两个语句可以相互替换
-
switch...case 语句通常处理 case 为比较确定值的情况
-
if…else… 语句更加灵活,常用于范围判断 ( 大 于、等于某个范围)
-
switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。
-
if…else 语句有几种条件,就得判断多少次。
-
当分支比较少时,if… else 语句的执行效率比 switch 语句高。
-
当分支比较多时,switch 语句的执行效率比较高,而且结构更清晰