JavaScript中的分支结构
由上到下执行代码的过程中,根据不同的条件,执行不同的代码(执行代码多选一的过程),从而得到不同的结果。
1. if 语句
if 语法结构
if (条件表达式) {
//条件成立,执行的代码语句
}
//条件不成立,就不执行大括号里面的代码语句
执行思路
- 如果 if 里面的条件表达式结果为真 true,则执行大括号里面的执行语句
- 如果 if 里面的条件表达式结果为假 false,则不执行大括号里面的语句,而是执行 if 语句后面的代码
// 例子
if (3 < 5) {
alert("我是if语句);
}
// 例子
var age = prompt("请输入年龄");
if (age >= 18 ){
alert("可以去网吧上网");
}
2. if else 语句(双分支语句)
if else 语法结构
// 条件成立,执行if里面的代码,否则执行else里面的代码
if(条件表达式){
// [如果]条件成立执行的代码
}else{
// [否则]执行的代码
}
执行思路
- 如果条件表达式为真,则执行 if 里面的代码
- 如果条件表达式为假,则执行 else 里面的代码
- 二选一,只能执行一种代码
注意
- else 后面没有()
// 例子
var age = prompt("请输入年龄");
if (age >= 18) {
alert("可以去网吧上网");
} else {
alert("不能去网吧上网");
}
// 练习:判断某一年是闰年还是平年。(能被4整除且不能被100整除或者能被400整除的年份)
<script>
var year = prompt("请输入年份");
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
alert(year + "年是闰年");
} else {
alert(year + "年是平年");
}
</script>
3. if else if 语句(多分支语句)
if else if 语法结构
if (条件表达式1) {
// 执行代码语句1
} else if (条件表达式2) {
// 执行代码语句2
} else if (条件表达式3) {
// 执行代码语句3
} else {
// 上述条件都不成立,执行最后的语句
}
执行思路
- 如果条件表达式 1 满足就执行代码语句 1,执行完毕后,退出整个 if 分支语句
- 如果条件表达式 1 不满足,则判断条件表达式 2,若满足就执行代码语句 2,以此类推
- 如果上面的所有条件表达式都不成立,则执行 else 里面的代码语句
注意
- 多分支代码语句也是多选一,只能有一个代码语句执行
- else if 里面的条件表达式,理论上可以有任意个
- else if 中间有空格
// 练习:判断成绩60以下为不及格,60-75为合格,75-90为良好,90-100为优秀
var score = parseInt(prompt("请输入分数"));
if (score < 60) {
document.write("不及格");
} else if (score >= 60 && score < 75) {
document.write("合格");
} else if (score >= 75 && score < 90) {
document.write("良好");
} else if (score >= 90 && score <= 100) {
document.write("优秀");
} else {
document.write("你输入的分数不正确");
}
4. 三元表达式
由三元运算符组成的式子,称为三元表达式
- ++num 3+5 ? :
语法结构
条件表达式 ? 表达式1 : 表达式2;
执行思路
- 如果条件表达式结果为真,则返回表达式 1 的值
- 如果条件表达式结果为假,则返回表达式 2 的值
// 例子
var num = 10;
var result = num > 6 ? "正确" : "错误";
console.log(result);
// 练习:数字补0,如果数字小于10 ,十位自动补0(拼接0);如果数字大于10,则不需要补0
var time = prompt("请输入数字");
// 把返回值赋值给变量result,加上"var result ="
var result = time < 10 ? "0" + time : time;
// 输出变量
alert(result);
5. switch 语句
1.switch 语句也是多分支语句(多选一),它用于基于不同条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用 switch
2.switch case 判断是全等于(===)的情况【重点】
3.switch case 不能直接做范围判断,如果有做范围判断需求,用 if else if
4.switch case 如果不写 break,那么 case 会穿透
语法结构
switch(表达式){
case value1:
执行语句1;
case value2:
执行语句2;
break;
...
default:
执行最后的语句;
}
执行思路
- 利用表达式的值和 case 后面的选项值相匹配
- 如果匹配上,就执行该 case 里面的语句
- 如果没有匹配上,就执行 default 里面的语句
switch(2){
case 1:
console.log("这是1");
break;
case 2:
console.log("这是2");
break;
case 3:
console.log("这是3");
break;
default:
console.log("没有匹配结果")
}