在一个程序执行的执行顺序来实现我们要完成的功能。的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码
简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行
流程控制主要有三种结构,分别是顺字结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。
顺序流程控制
顺序结构时程序中最简单、最基本的流程控制,他没有特定的语法结构,程序会按照代码的先后顺序依次执行
分支结构if语句
由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选的一个过程),从而得到不同的结果
分支结构分为两种:if语句和switch语句
1、if语句
语法:
if (表达式) {
执行语句1;
}else if (表达式) {
执行语句2;
}else if (表达式) {
执行语句3;
}else {
最后的执行语句;
}
执行思路:
如果表达式1满足条件就执行语句1,执行完毕后,退出整个if语句
如果表达式不满足,则判断条件表达式2,满足条件后执行语句2,执行完毕后,退出整个if语句
以此类推
如果上面所有的表达式都不成立,则执行else里面的语句,执行完毕后,退出整个if语句
流程图:
举个栗子:
<script>
var value1 = prompt('请输您要买的水果');
if (value1 == '香蕉'){
alert('10块钱一斤');
}
else if (value1 == '苹果'){
alert('10块钱一个');
}
else if (value1 == '葡萄'){
alert('15块钱一斤');
}
else if (value1 == '菠萝'){
alert('15块钱一个');
}
else{
alert('抱歉哦!本店没有这类水果,尽情期待哦~');
}
</script>
2、switch语句
switch语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用swith
代码:
switch (表达式) {
case value1:
//表达式等于value1时要执行的代码
break;
case value2:
//表达式等于value2时要执行的代码
break;
default:
//表达式不等于任何一个value时要执行的代码
}
还举上面的那个栗子吧:
<script>
var value1 = prompt('请输您要买的水果');
switch (value1){
case '香蕉':
alert('10块钱一斤');
break;
case '苹果':
alert('10块钱一个');
break;
case '葡萄':
alert('10块钱一斤');
break;
case '菠萝':
alert('15块钱一个');
break;
default:
alert('抱歉哦!本店没有这类水果,尽情期待哦~');
}
</script>
稍作修改之后就是一个全新的switch语句了!
switch 语句和if else if语句的区别
1、一般情况下,它们两个语句可以相互替换
2、switch…case 语句通常处理case为比较确定值的情况,而if…else…语句更加灵话,常用于范围判断大于、等于某个范围)
3、switch语句进行条件判断后直接执行到程序的条件语句,效率更高。if…else语询有几种条件,就得判断多少次。
4、当分支比较少时,if…else语句的执行效率比switch语句高。
5、当分支比较多时,swith语句的执行效率比较高,而且结构更清晰。
三元表达式
有三个运算符组成的式子称为三元表达式,三元表达式也能做一些简单的条件选择
举个栗子:
<script>
var num = 10;
var result = num > 5 ? '是' : ‘不是’;
console.log(result);
</script>
显示效果: