选择结构
选择结构用于判断给定的条件,根据判断的结果来控制程序的流程。
JavaScript中的条件判断:基于不同的条件来执行不同的动作
条件判断
if语句-只有等条件为true时,使用该语句执行代码
switch语句-使用该语句来选择多个代码块之一来执行
一、if结构之单路分支
1、如果条件表示为真,就执行语句块一
2、否则,跳过if这一部分,执行后续语句
二、if结构之双路分支
1、如果条件表达式为真,则执行语句块1,否则执行语句块2
2、else不能脱离 if 单独使用
3、if 和 else 后面的代码块( {} )只有一个会被执行
三、If 结构之多路分支
if(条件表达式1)
{
语句块1;
}
else if(条件表达式2)
{
语句块2;
}
else if(条件表达式n)
{
语句块n;
}
else
{
语句块3
}
后续语句;
if (time<10)
{
x="Good morning";
}
else if (time<20)
{
x="Good day";
}
else
{
x="Good evening";
}
1、如果条件表达式1为真,则执行语句块1,其他不执行;
2、如果条件表达式1不成立,则判断条件表达式2,如果条件表达式2成立,则执行语句块2;否则,执行语句块3
3、众多大括号中,只有一个大括号中的内容会被执行
4、只有前面所有条件都不满足,才会执行else大括号中的内容
四、If 嵌套
if(条件表达式1) {
语句块1 - 1;
if(条件表达式2) {
语句块2 - 1;
} else {
语句块2 - 1;
}
语句块1 - 2;
} else {
if(条件表达式3) {
语句块3 - 1;
} else {
语句块3 - 2;
}
}
五、if注意点
1、如果只有一条语句时if后面的大括号可以省略
if(age > 18)
console.log("开网卡");
2、if else是一个整体,当 if else后面的大括号被省略时,else会自动和距离最近的一个 if 匹配。
if(0)
if(1)
console.log("A");
else // 这个else会匹配上面的 if(1)
console.log("B");
else // 这个else会匹配上面的 if(0)
if (1)
console.log("C"); // 最终输出C
else
console.log("D");
3、分号“;”也是一条语句, 空语句
if(10 > 2); {
console.log("10 > 2");
}
// 输出结果: 10 > 2, if管制的紧跟其后的那个分号
// 如上语句相当于
if(10 > 2)
; {
console.log("10 > 2");
}
// 如上语句相当于
if(10 > 2) {;
}
// {}在JS中仅仅代表告诉系统里面的语句是一个整体, 没有别的用途,不会影响代码的执行
{
console.log("10 > 2");
}
4、对于非Boolean类型的值,会先转换为Boolean类型后再判断
if(0) {
console.log("123\n"); // 不会被执行
}