目标
- 能够使用if分支语句
- 能够使用switch分支语句
- 能够使用三元表达式
1. 流程控制
控制代码按照什么结构顺序来执行。
- 顺序结构
- 分支结构
- 循环结构
2. 顺序流程控制
按照代码的先后顺序,依次执行。
3. 分支流程控制if语句
3.1 分支结构
根据不同条件,执行不同路径代码,从而得到不同的结果。
- if语句
- switch语句
// if语句的语法结构
if(a>b){
alert(a);
}else{
alert(b);
}
// 条件为真,执行alert(a);条件为假,执行alert(b);
var age = prompt('请输入你的年龄');
if(age >= 18){
alert('我想带你去网吧投耳机。');
}
var score = prompt('请输入你的成绩');
if(score < 100){
if(score < 80){
if(score < 60){
alert('不及格');
}else{
alert('刚好及格');
}
}else{
alert('优秀');
}
}else{
alert('恭喜你得到满分。')
}
3.2 判断闰年
var year = prompt('请输入年份:');
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
alert('这是闰年。');
}else{
alert('这是平年。');
}
3.3 多分支语句
if(score == 100){
alert('满分')
}else{
if(score > 80){
alert('优秀');
}else if(score > 60){
alert('不错')
}else if(score == 60){
alert('及格');
}else{
alert('不及格');
}
}
4. 三元表达式
语法结构:条件表达式?表达式1:表达式2
如果条件表达式结果为真,返回表达式1
如果条件表达式结果为假,返回表达式2
score == 100 ? alert('满分') : score >= 80 ? alert('优秀') : score > 60 ? alert('不错'):score == 60 ? alert('及格') : alert('不及格');
//等同于上面if多分支代码
4.1 数字补0
var num = prompt('请输入一个数字');
num < 10 ? alert('0'+num) : alert(num);
5. switch语句
利用表达式的值和case后面的选项值相匹配,如果匹配上,就执行该case里面的语句,如果没匹配上就执行default的语句。
//1' 多分支语句
//2' 语法结构
//switch(表达式){
// case value1:
// 执行语句1;
// break;
// case value2:
// 执行语句2;
// break;
// default:
// 执行最后语句;
//}
switch注意事项:
- 表达式写成变量
- 表达式的值和case里面的值要完全匹配
5.1 switch和if else if的区别
- 判断值为固定值用swtich,范围值用后者
- switch语句进行判断后直接执行到程序条件语句,效率高。if else有几种条件就得多判断几次
- 分支少时,if else效率更高
- 分支多时,swtich执行效率高,结构清晰