if条件分支语句
if语句(if(条件){执行代码}
if-else语句(if(条件){执行代码1}else{执行代码2})
if-else if-else语句(if(条件1){执行代码1}else if(条件2){执行代码2}else{执行代码3})
// 求53 42 64中最大值
var num1 = 53
var num2 = 72
var num3 = 64
var max = num1
if (max < num2) max = num2
if (max < num3) max = num3
console.log('最大值为:' + max)
// 判断一个整数的奇偶
var num = 31
if (num % 2 === 0) {
console.log(num + '是偶数')
} else {
console.log(num + '是奇数')
}
// 判断闰年
var year = 2000
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
console.log(year + '是闰年')
} else {
console.log(year + '不是闰年')
}
// 判断星期几(假设1号是周一)
var day = 14
if (day % 7 === 1) {
console.log(day + '号是周一')
} else if (day % 7 === 2) {
console.log(day + '号是周二')
} else if (day % 7 === 3) {
console.log(day + '号是周三')
} else if (day % 7 === 4) {
console.log(day + '号是周四')
} else if (day % 7 === 5) {
console.log(day + '号是周五')
} else if (day % 7 === 6) {
console.log(day + '号是周六')
} else {
console.log(day + '号是周日')
}
// 判断成绩等级
var score = 90
if (score >= 90) {
console.log('你的分数' + score + " 等级为A!")
} else if (score >= 80) {
console.log('你的分数' + score + " 等级为B!")
} else if (score >= 70) {
console.log('你的分数' + score + " 等级为C!")
} else if (score >= 60) {
console.log('你的分数' + score + " 等级为D!")
} else {
console.log('你的分数' + score + " 等级为E!")
}
多分支语句
switch(要判断的变量){
case 情况1:
情况1要执行的代码
break
case 情况2:
情况2要执行的代码
break
……
default:
当所有情况都不满足的时候执行的代码
}
注意:如果case中没有break的话,会出现穿透的效果。
穿透:从第一个满足条件的 case 开始向下穿透,直到遇到 break 为止, 或者所有 case 结束
//利用穿透的特点可高效完成一些需求
// 输入年份和月份,显示当月的天数
var year = 2000
var month = 12
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log(year + '年,' + month + '月有31天')
break
case 4:
case 6:
case 9:
case 11:
console.log(year + '年,' + month + '月有30天')
break
case 2:
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
console.log(year + '年,' + month + '月29天')
break
} else {
console.log(year + '年,' + month + '月有28天')
break
}
}
// 输入年月日,输出那天是一年中的第几天
var year = 2020
var month = 3
var day = 1
var total = 0
switch (month) {
case 12:
total += 30
case 11:
total += 31
case 10:
total += 30
case 9:
total += 31
case 8:
total += 31
case 7:
total += 30
case 6:
total += 31
case 5:
total += 30
case 4:
total += 31
case 3:
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
total += 29
} else {
total += 28
}
case 2:
total += 31
case 1:
total += day
break
}
console.log(year+"年"+month+'月'+day+'日是这一年中的第'+total+'天')
三元运算:条件?表达式A:表达式B
条件成立是执行表达式A,否则执行表达式B
// 求三个数中的最大值
var num1 = 32
var num2 = 42
var num3 = 36
var max = num1 > num2 ? (num1 > num3 ? num1 : num3) : (num2 > num3 ? num2 : num3)
// var max = num1 > num2 ? num1 : num2
// max = max > num3 ? max : num3
console.log(num1 + ',' + num2 + ',' + num3 + ',' + '中最大的数是:' + max)