流程控制
任何一门编程语言都存在流程控制,流程控制不是js独有的,可以分为以下几种:
-
顺序结构 :默认代码从上到下执行的
-
选择结构:if switch
-
循环结构:for for-in while 及 do-while
-
其它结构:break continue
1.选择结构 - if
if判断可以判断js中所有的情况
基本语法
-
单条件
//省略else
if(条件){
条件成立执行的代码段
}
//如果条件成立执行的代码段只有一行;可以省略{}
if(条件)条件成立执行的代码段;
//标准写法
if(条件){
条件成立执行的代码段
}else{
条件不成立执行的代码段
}
-
多条件
//省略else
if(条件){
条件成立执行的代码段
}else if(条件){
条件成立执行的代码段
}
//不省略elese
if(条件){
条件成立执行的代码段
}else if(条件){
条件成立执行的代码段
}
代码示例:
//60以下 不及格
//60-70 良
//70-80 中等
//80-100 优秀
score1 = -10;
if (score1 < 60 && score1 >=0) {
console.log("不及格");
} else if (score1 >= 60 && score1 < 70) {
console.log("良");
} else if (score1 >= 70 && score1 < 80) {
console.log("中等");
} else if (score1 >= 80 && score1 <= 100) {
console.log("优秀");
}else{
console.log("hello,错误了~~~");
}
2.选择结构 - switch
基本语法
//简写
//省略default
switch(值){
case 比较值1: 成立执行的代码段;break;
case 比较值2: 成立执行的代码段;break;
case 比较值3: 成立执行的代码段;break;
注意点:
-
switch中值的比较属于绝对比较,不同数据类型一定不相等
-
case穿透:不仅当前case对应的情况执行,会把以下所有情况都执行
-
解决case穿透:在代码段末尾加break;
-
break在这里的含义结束(整个switch就结束了); 并且break之后的代码就不会执
-
case穿透问题:
-
解决穿透问题加break; (break在这里的含义结束(整个switch就结束了); 并且break之后的代码就不会执行)