流程控制语句
技术小白,从最基础的开始分享,适用初学者,如有误点还望指正。
本篇内容控制语句结构。主要if else 和switch 和三目运算符
顺序结构
自上而下顺序执行的都是
if语句 条件/选择/分支结构
根据不同情况执行不同代码
if(判断语句){
判断条件true的执行语句
}else{
判断条件false的执行语句
}
可以只写if,那就是单分支语句。
if里可以写任何表达式,最终都会转换成布尔值。
当然还有多分支语句。
单分支(是不是偶数)
var num = 3;
if(num % 2 ==0){
alert("偶数");
}
双分支(是奇数还是偶数)
var num = 3;
if(num % 2 ==0){
alert("偶数");
}else{
alert("奇数");
}
多分支(成绩评定)
var score = 90;
if(score > 85){
alert("优秀");
}else if(score >= 75 && score <= 85){
alert("良好");
}else if(score >= 60 && score <= 75){
alert("及格");
}else{
alert("不及格");
}
进阶嵌套多分支(考得好的给奖金)
var score = 90;
if(score > 85){
alert("优秀");
//判断奖金(嵌套好用但尽量不超过三层嵌套)
if(score >= 95 && <= 100){
alert("奖励1000元");
}else if(score >= 90 && < 95){
alert("奖励800元");
}else{
alert("奖励500元");
}
}else if(score >= 75 && score <= 85){
alert("良好");
}else if(score >= 60 && score <= 75){
alert("及格");
}else{
alert("不及格");
}
switch语句
switch(直接出结果的表达式){
case 常量1:
break;
case 常量2:
break;
case 常量3:
break;
…
default:
break;
}
结果是确定的值得优先用switch语句
break不能省略,会穿透。
default一般是写得,为了报错。
计算机匹配比判断效率要高。
判断ABCD分别是什么档次的成绩
var grade = "A";
switch(grade){
case "A":
alert("80~100");
break;
case "B":
alert("70~79");
break;
case "C":
alert("60~69");
break;
case "D":
alert("<60");
break;
default:
alert("error");//报错
break;
}
利用穿透性(判断这个月有几天)
var month = 3;
switch(){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
alert("31天");
break;
case 2:
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
alert("28天"):
}else{
alert("29天");
}
break;
case 4:
case 6:
case 9:
case 11:
alert("30天");
break;
default:
alert("30天");
break;
}
三目运算符
表达式1 ? 表达式2 : 表达式3
表达式1为真执行表达式2
表达式1为假执行表达式3
判断奇数偶数
var num = 10;
num % 2 == 0 ? alert("偶数") : alert("奇数");
判断两个数大小
var num1 = 8;
var num2 = 9;
var max = num1 > num2 ? alert(num1) : alert(num2);
alert(max);