JavaScript的流程控制(一)
接下来我么来讲一下JavaScript的流程控制,JavaScript中的流程控制主要包括条件语句和循环语句。这篇博客主要讲条件语句。说到条件语句主要包括if条件语句和switch选择语句两种。
1.if语句
//语法:
// if(判断的条件){
// 条件成立时的执行代码
// }
//if语句当条件不成立时,不执行任何的代码
var oDate=new Date();
console.log(oDate.getDay());
if(oDate.getDay()==6){
console.log("今天是星期五")
}
2.if…else语句
if…esle语句,当条件成立时,执行if后面的执行代码,不成立时 执行else代码块。
//语法:
// if(判断的条件){
// // 条件成立时执行代码
// }else{
// // 条件不成立时执行的代码
// }
if(oDate.getDay()==6){
console.log("今天是星期六")
}else{
console.log("今天不是星期六")
}
3.if…else if…else语句
使用 if…else if…else 语句来选择多个代码块之一来执行。
// 语法:
// if(判断条件){
// // 当前条件成立时 执行的代码
// }else if(判断条件2){
// // 当前条件2成立时 执行的代码
// }else if(){
// ...
// }else{
// // 当所有的条件都不成立时 执行的代码
// }
var aDays=[1,2,3,4,5,6,7];
var oDay=aDays[6]
if(oDay==1){
console.log("今天是星期一")
}else if(oDay==2){
console.log("今天是星期二")
}else if(oDay==3){
console.log("今天是星期三")
}else if(oDay==4){
console.log("今天是星期四")
}else if(oDay==5){
console.log("今天是星期五")
}else if(oDay==6){
console.log("今天是星期六")
}else{
console.log("今天是星期天")
}
4.switch 语句
switch 语句用于基于不同的条件来执行不同的动作。
// 语法:
// switch (key) {
// case 当key为value1:
// // 执行代码
// break;
// case 当key为value2:
// // 执行代码
// break;
// case 当key为value3:
// // 执行代码
// break;
// case 当key为value4:
// // 执行代码
// break;
// ...
// default:
// //当key 匹配不到case时 默认的执行的代码
// break;
// }
var oDate=new Date();
var oDay = aDate.getDay();
switch (oDay) {
case 1:
console.log("今天是星期一");
break;
case 2:
console.log("今天是星期二");
break;
case 3:
console.log("今天是星期三");
break;
case 4:
console.log("今天是星期四");
break;
case 5:
console.log("今天是星期五");
break;
case 6:
console.log("今天是星期六");
break;
default:
console.log("今天是星期天");
break;
}
这里主要要强调一个问题就是switch语句中,每个case语句结束后,必须都要加上一个break,用来结束当前的语句继续向下执行。如果忘记了添加break,每一个case执行完不会立马结束,而回继续向下执行,如下面的代码:
var number=1;
switch (number){
case 1: console.log(number);
case 2: console.log(number);
case 3: console.log(number);
case 4: console.log(number);
case 5: console.log(number);
default :console.log(number);
}
// 上边的代码每种 case 都会执行一遍,即在浏览器控制台打印 6 遍 1。
最后再总结一下if语句和switch语句的区别和应用场景。
if条件语句和switch选择语句的比较:
- switch语句只支持常量值相等的分支判断,而if语句支持更为灵活,任意布尔表达式均可。
- switch语句通常比一系列嵌套if语句效率更高;逻辑更加清晰。
if语句和switch语句的使用场景
- switch选择语句建议判断固定值的时候用
- if条件语句建议判断区间或范围的时候用
- 最后用switch选择语句可以实现的,用if都可以实现,但是反过来则不行。
视频讲解链接:https://www.bilibili.com/video/BV1mC4y1H7oZ/