这些语句都是为了让程序做出一些判断当满足一些条件的时候触发一种情况,当改变条件触发的情况也会跟着改变。
if
if单词的意思指的是如果的意思 else单词的意思是否则的意思
语法1:if(条件){代码}
意思:如果()中的条件成立那么就执行后面{}中的语句
语法2:if(条件){代码}else{代码}
意思:如果()条件满足就执行if{}的代码段,如果条件不满足,就执行else{}的代码段
比如:想写一个当分数大于60分,就输出成绩合格,若小于60分则输出成绩不合格。
var a = 73
if(a<72){
console.log('成绩不合格')
}else{
console.log('成绩合格')
}
语法3:if(条件1){代码1} else if(条件2){代码2} else if(条件3){代码3}。。。。
意思:如果if()条件成立就执行代码段1,条件不成立就去看到else if()语句,如果第二个条件成立就执行代码2,不成立依次往下阅读。
需求:给你一个变量,当这个变量中存储的值如果为1就输出星期一
如果为2就输出星期二
如果为3就输出星期三
如果为4就输出星期四
如果为5就输出星期五
如果为6就输出星期六
如果为7就输出星期天
假设变量的值是除了1-7之外的数字,那么语法3就没有颁给给出反馈结果了。
如果我想实现,当 变量的值不是1-7之内的我就输出:星期中没有该数字,应该怎么办
语法4:if(条件1){代码段1} else if(条件2){代码段2} else if(条件3){代码段3}。。。else{}
只需要在语法3的基础上再加一个else即可
意思:当前面所有条件都不满足的时候才会执行最后的else里面的内容
var week = 4
if (week == 1) {
console.log('星期一');
}
else if(week==2){
console.log('星期二');
}
else if(week==3){
console.log('星期三');
}
else if(week==4){
console.log('星期四');
}
else if(week==5){
console.log('星期五');
}
else if(week==6){
console.log('星期六');
}
else if(week==7){
console.log('星期天');
}
else{
console.log('星期中没有该数字');
}
switch
switch语句也可以用来做一些判断
语法:
switch(你要判断的东西){
case 情况1:满足情况1需要执行的语句
break
case 情况2:满足情况2需要执行的语句
break
case 情况3:满足情况3需要执行的语句
break
case 情况4:满足情况4需要执行的语句
break
。。。。。。。。
default:以上所有条件都不满足就执行default的语句。
break可 以不写,但是如果不写break,程序就会一直向下执行,直到碰到break或者整个switch执行完毕才会结束这种现象我们叫做break的穿透
用switch语句来写星期问题:
var week = 7
switch (week) {
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
case 7: console.log('星期天');
break
}
思考:用if和switch分别来写输入一个数字表示月份显示结果为当月的天数(包含简写方式)
if:正常书写
var month = 1
var year = 2020
if (month == 1) {
console.log('31');
}
else if (month == 2) {
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
console.log('29');
}
else{
console.log('28');
}
}
else if (month == 3) {
console.log('31');
}
else if (month == 4) {
console.log('30');
}
else if (month == 5) {
console.log('31');
}
else if (month == 6) {
console.log('30');
}
else if (month == 7) {
console.log('31');
}
else if (month == 8) {
console.log('31');
}
else if (month == 9) {
console.log('30');
}
else if (month == 10) {
console.log('31');
}
else if (month == 11) {
console.log('30');
}
else if (month == 12) {
console.log('31');
}
if:简写
var month = 4
var year = 2020
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
console.log('31');
}
else if (month == 4 || month == 6 || month == 9 || month == 11){
console.log('30');
}
else if(month==2){
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
console.log('29');
}
else{
console.log('28');
}
}
两者的结果是相同的只是第二种方式将会重复的代码用逻辑语句连起来。
switch:正常书写
var month = 1
var year = 2021
switch (month) {
case 1: console.log('31');
break
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
console.log('29');
}
else {
console.log('28');
}
break
case 3: console.log('31');
break
case 4: console.log('30');
break
case 5: console.log('31');
break
case 6: console.log('30');
break
case 7: console.log('31');
break
case 8: console.log('31');
break
case 9: console.log('30');
break
case 10: console.log('31');
break
case 11: console.log('30');
break
case 12: console.log('31');
break
default: console.log('没有这个月份');
}
default:指的是不在指定范围内而显示的内容。
switch:简写
var month = 4
var year = 2021
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: console.log('31');
break
case 4:
case 6:
case 9:
case 11: console.log('30');
break
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
console.log('29');
}
else {
console.log('28');
}
break
default: console.log('没有这个月份');
}
=========================================================================
三元运算符
三元运算符(三目运算符、表达式)
他也能实现判断的效果
语法:条件?条件成立执行的语句:条件不成立执行的语句
例子:用三元运算符写判断一个数字是偶数还是奇数。
var num = 11
num % 2 == 0?console.log('偶数') : console.log('奇数');
如何选择判断语句:
判断语句有3种
if:做范围判断
switch:做具体数值的判断(不太适合区间判断)
三元运算符:只能做简单的判断,只有2个情况并且执行语句只有1句话的时候
如果搞不清楚到底改用哪个,用if一定不会出错。