一、if语句
语法:if (判断的条件) {当小括号内的条件为真, 然后才会执行}
var a = 1;a = 2;if (a == 1) {console.log(1); }if (a == 2) {console.log(2);}
二、if……else语句
语法:if (判断的条件) {当小括号内的条件为真, 然后才会执行} else{否则执行else里面的}
var a = -1;if (a > 0) {console.log('a大于0');} else {console.log('a小于0');}
二、if……else if……else
1、解释说明
语法:if (判断的条件1) {满足判断条件1执行} else if(判断的条件2){满足判断条件1执行}else{否则执行else里面的}
/*** 根据成绩 (0~100),打印不同的结果* 0~60 不及格* 61~80 要努力* 81~100 优秀*/var a = -100;if (a >= 81 && a <= 100) {console.log('优秀')} else if (a >= 61 && a <= 80) {console.log('要努力')} else if (a >= 0 && a <= 60) {console.log('不及格')} else {console.log('不符合上述期间')}
2、课堂练习
2.1 判断一个正整数是不是偶数
var a = 10;if (a % 2 == 0) {console.log(a, '是偶数');console.log(a + '是偶数');} else {console.log(a + '是奇数');}
2.2 判断一个年份是平年还是闰年
- 条件1: 四年一润, 百年不润;(
year % 4 == 0 && year % 100 != 0
)- 条件2: 四百年补一润 (
year % 400 == 0
)
var year = 2022if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {console.log(year, '年是闰年')} else {console.log(year, '年是平年')}// 2022 '年是平年'
三、swith
/*** switch 的判断使用的是全等* * 语法:* switch (判断条件) {* case 条件1:* 满足条件1执行的代码* break;* case 条件2:* 满足条件2执行的代码* break;* default:* 上述条件都不满足时执行的代码* }*/
var a = 100;switch (a) {case 10:console.log('a为10');break;case 20:console.log('a为20');break;case 100:console.log('a为100');break;default:console.log('不满足上述所有case时, 执行默认')}
四、Switch的穿透
1、解释说明
- 寻找到满足的条件后, 如果没有break
- 会继续往下执行, 直到发现break或者结束
var a = 10switch (a) {case 10:console.log('a为10')break;case 20:case 30:case 40:console.log('a为20')break;case 100:console.log('a为100')default:console.log('不满足上述所有case时, 执行默认')}
2、课堂案例
2.1 根据月份,在控制台打印当月的天数(2月假设有28天)
var m = 11;var day;switch (m) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;case 4:case 6:case 9:case 11:day = 30;break;case 2:day = 28;break;}console.log(m, '月有', day, '天');
2.2 根据成绩(0~100)在控制台输出内容
- 0~60 —> 不及格
- 61~80 —> 要努力
- 81~100 —> 优秀
var a = 81;switch (a) {case 50:console.log('不及格');break;case 61:console.log('要努力');break;case 81:console.log('优秀');break;}
2.3 用户输入年份和月份, 判断当月有几天
案例分析
- 不管那年, 除了 2月 都是固定的
- 要想确定 2 月 的天数, 首先要判断 当前是否为闰年
代码实现
var year = 2022;var m = 11;var day;switch (m) {case 2:if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {day = 29} else {day = 28}break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31break;case 4:case 6:case 9:case 11:day = 30break;}console.log(year, '年', m, '月有', day, '天');