1.流程控制
在代码的执行过程中,代码执行顺序的过程对程序的结果是有直接影响的,因此我们要通过控制代码的执行顺序来实现我们要完成的功能。
流程控制主要有三种结构,分别是顺序结构,分支结构,循环结构,这三种结构代表三种代码的执行顺序。
2.分支流程控制语句
在代码的执行顺序中,根据不同的条件,执行不同的代码,得到不同的结果。
js分支流程控制分为两种 if switch
1.if语句
语法结构:
if(条件表达式){
执行语句
}
XXXX
如果表达式为真,执行大括号里面的代码语句,如果条件表达式为假,则执行大括号外面的语句
代码:
<script>
if(3>5){
alert('刘壮伟是大帅比');
}
alert('杜林阳是大帅比');
</script>
2.if-else双分支语句
语法结构:
if(条件表达式){
执行语句1
} else{
执行语句2
}
小括号里面的条件表达式为真,执行if大括号里面的语句1,条件表达式为假,执行else大括号里面的语句2,两条语句必定会执行一个,二选1。
代码:
<script>
var age=prompt('请输入您的年龄');
if(age>=18){
alert('您已成年,快进网吧快乐的玩游戏吧');
}else{
alert('对不起,您是未成年,不允许进入网吧');
}
</script>
3.if else if多分支语句
语法结构
if(条件表达式1){
执行语句1
} else if(条件表达式2){
执行语句2
}else if(条件表达式3){
执行语句3
}else{
最后语句
}
利用多个条件来选择执行不同的语句,从而的到不同的结果,多选1。
如果满足条件表达式1,执行语句1,执行完毕后,退出整个if分支,如果不满足条件表达式1,判断条件表达式2,如果满足,执行语句2,执行完毕后,退出整个if分支,如果不满足,接着往下判断,如果条件都不成立,执行最后语句。
代码:
<script>
var num=10;
if(num>10){
console.log('1');//不会执行
}else if(num>5){
console.log('2');//2 执行完毕后,退出整个if分支
}else if(num>6){
console.log('3');//已经退出分支了,不会再执行这个语句
}
</script>
3.三元表达式
语法结构:
条件表达式 ? 表达式1 :表达式2
如果条件表达式为真,结果返回表达式1的值,如果条件表达式为假,结果返回表达式2的值。
代码:
<script>
var num=10;
var result=num>5 ? '是的': '不是的';
console.log(result);//是的
</script>
4.分支流控制switch语句
也是多分支语句根据条件的不同执行不同的语句 ,要针对变量设置一系列特定值的选项时,可以使用switch。
语法结构:
switch(表达式){
case value1:
执行语句1
break;
case value2:
执行语句2
break;
default:
执行最后语句
}
利用表达式的值与case里面的值进行匹配,如果匹配成功,执行相对应case里面的语句,如果都匹配不上,执行default里面的语句。
代码:
<script>
switch(2){
case 1:
console.log('这是1');
break;
case 2:
console.log('这是2');//会执行这个语句
break;
case 3:
console.log('这是3');
default:
console.log('这是4');
}
</script>
5.switch和if elseif的区别
- 一般情况下,他们两个语句可以相互替换
- switch case 语句通常处理case为确定值的情况,而 if elseif 语句更加灵活,常用于范围判断(大于,等于某个范围)
- switch 语句进行条件判断后直接执行到程序的条件语句时,效率更高,而if elseif 语句有几种条件,就得判断多少次。
- 当分支比较少时,if elseif 语句的执行效率比switch语句高。
- 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。