文章目录
一、if 分支
1、if 语句
语法:if (条件) { 代码 }
只要条件满足就执行 {} 里面的代码,只要条件不满足就不执行 {} 里面的代码
var age = 16
// 因为 age >= 18 得到的结果是 false
// 所以 {} 里面的代码不会执行
if (age >= 18) {
console.log('在网吧上网')
}
var num = 203
if (10 < num && num < 100) {
console.log(num + ' 是在 10 ~ 100 之间')
} else {
console.log(num + ' 不是在 10 ~ 100 之间')
}
2、if … else 语句
语法:if (条件) { 条件成立就执行 } else { 条件不成立就执行 }
条件满足执行 if 后面的 {} 里面的代码,条件不满足就执行 else 后面的 {} 里面的代码
var age = 16
if (age >= 18) {
console.log('去网吧上网')
} else {
console.log('在家里上网')
}
/*
闰年:
公历年数是4的倍数,且不是100的倍数,为普通闰年
即:year % 4 === 0 && year / 100 !== 0
公历年数是整100的倍数,且是400的倍数,为世纪闰年
即:year % 400 === 0
*/
var year = prompt('请输入年份')
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
alert(year + ' 是闰年')
} else {
alert(year + ' 是平年')
}
3、if … else if 语句
语法:if (条件1) { 条件1满足就执行 } else if (条件2) { 条件2满足就执行 } …
第一个条件开始,哪一个条件满足了,就执行哪一个条件后面的 {} 里面的代码,前面的条件满足了,后面的条件就全部不管了,直接跳过
var age = 2
if (age >= 23) {
console.log('我可以结婚了')
} else if (age >= 14) {
console.log('我可以谈恋爱了')
} else if (age >= 6) {
console.log('可以和女同学坐同桌')
}
4、if … else if … else 语句
语法:if (条件) { 成立就执行 } else if (条件2) { 条件2 成立就执行 } … else {}
从第一个条件开始,哪一个条件满足了,就执行哪一个条件后面的 {} 里面的代码,所有的条件都不满时,就执行 else 后面 {} 里面的代码
if (age >= 23) {
console.log('我可以结婚了')
} else if (age >= 14) {
console.log('我可以谈恋爱了')
} else if (age >= 6) {
console.log('可以和女同学坐同桌')
} else {
console.log('只能在家和小姨玩')
}
拓 展:三元(三目)运算符
var age = 15
age >= 18 ? console.log('成年') : console.log('未成年') // 未成年
二、 switch分支
// 准备一个变量
var num = 1
// switch 语法
switch (num) {
case 1:
console.log('你输入的是 1 这个数字')
break
case 2:
console.log('你输入的是 2 这个数字')
break
case 3:
console.log('你输入的是 3 这个数字')
break
default:
console.log('所有条件都不满足')
}
console.log('后续代码继续执行')
1、单词解释
- switch 开关,道岔
- case 情况,方案
- default 默认
- break 断开,断点
2、switch注意
1、小括号里面直接写要判断的变量就可以,不需要符号
2、case 后面的情况不能写范围的比较,只能是全等(===)的比较
3、每一个 case 后面的 break 都要写上,如果不写,会发生一个穿透的情况
穿透:就是不管下一个 case 是不是满足,都会执行下一个 case 的代码
4、向下穿透的效果,会从第一个满足的 case 开始向下穿透,直到遇到一个break为止
5、default 可以写,也可以不写
要是写了default,那么所有条件都不满足时就有代码执行
要是不写default,那么所有条件都不满足时就没有代码执行
3、switch案例
/*
根据一个 1 ~ 12 的数字, 给出反馈, 当月又多少天
通过一个年份的变量来确定 2 月是 28 天还是 29 天
*/
// 1. 准备一个数字
var month = prompt('请输入一个 1 ~ 12 之间的数字表示月份')
var year = prompt('请输入一个四位数字作为年份使用') - 0
// 非加法的数学运算可以转换成数字
// 减 0 不改变原始大小
month = month - 0
// 利用 switch 穿透效果来写
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log(month + ' 月有 31 天')
break
case 4:
case 6:
case 9:
case 11:
console.log(month + ' 月有 30 天')
break
case 2:
// 通过 year 来判断是平年还是闰年
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
console.log(month + ' 月有 29 天')
} else {
console.log(month + ' 月有 28 天')
}
break
default:
console.log('请输入一个 1 ~ 12 之间的数字')
}
三、if 语句和 switch 语句的区别
- if 条件判断可以判断范围
当你需要单位判断的时候,推荐使用 if 语句- switch 只能准确判断
当你需要准确判断,并且判断的还比较多的时候,推荐使用 switch 语句
本文详细介绍了JavaScript中的if分支结构(包括基本if、if…else、if…elseif和三元运算符),以及switch分支结构,通过实例演示了它们的语法和用法,并突出了if语句和switch语句在不同场景下的选择和区别。
409

被折叠的 条评论
为什么被折叠?



