知识梳理
//1 if else 多用于范围判断 [ 大于等于某个区 区间判断] //2 switch case 多用于某个固定值的判断 [ 星期几案例 ] //3 三元表达式 = if else 双分支 //4 只要是表达式 就一定有返回值
一 if分支
1)单分支
if ( 条件表达式 ) { //要执行的代码语句 } //条件表达式为真 执行花括号里面的代码 //条件表达式为假 跳过if 执行下面的代码
2)双分支
//语法结构 if 如果 else 否则
if ('条件表达式') { //代码语句1 } else { //代码语句2 } //条件表达式为真 执行代码语句1 //条件表达式为假 执行代码语句2
小demo:判断闰年平年
//算法:能被4整除且不能整除100的为闰年(如2004年就是闰年,1901年不是闰年)或者能够被 400 整除的就是闰年 // 弹出prompt 输入框,让用户输入年份,把这个值取过来保存到变量中 // 使用 if 语句来判断是否是闰年,如果是闰年,就执行 if 大括号里面的输出语句,否则就执行 else里面的输出语句 // 一定要注意里面的且 && 还有或者 || 的写法,同时注意判断整除的方法是取余为 0 var year = prompt('请您输入年份:'); if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { alert('您输入的年份是闰年'); } else { alert('您输入的年份是平年'); }
3)多分支
<script>
// 1. 多分支语句 就是利用多个条件来选择不同的语句执行 得到不同的结果 多选1 的过程
// 2. if else if语句是多分支语句
// 3. 语法规范
if (条件表达式1) {
// 语句1;
} else if (条件表达式2) {
// 语句2;
} else if (条件表达式3) {
// 语句3;
} else {
// 最后的语句;
}
// 4. 执行思路
// 如果条件表达式1 满足就执行 语句1 执行完毕后,退出整个if 分支语句
// 如果条件表达式1 不满足,则判断条件表达式2 满足的话,执行语句2 以此类推
// 如果上面的所有条件表达式都不成立,则执行else 里面的语句
// 5. 注意点
// (1) 多分支语句还是多选1 最后只能有一个语句执行
// (2) else if 里面的条件理论上是可以任意多个的
// (3) else if 中间有个空格了
</script>
查分数demo:分数值从小到大逻辑
<script>
//90 a 恭喜学霸
//80 b 优秀的孩子
//70 c 中等生 加油
//60 d 好危险 刚刚及格
//60以下 e 不及格
var value = prompt('请输入分数');//获取学生输入的分数值
//分数从小到大逻辑写
if (value < 60) {
alert('e 不及格');
} else if (value >=60 && value < 70) {
alert('d 好危险 刚刚及格');
} else if (value >= 70 && value < 80) {
alert('c 中等生 加油');
} else if (value >= 80 && value < 90) {
alert('b 优秀的孩纸');
} else if (value >=90 && value <= 100) {
alert('a 恭喜学霸');
} else {
alert('成绩值不合法');
}
</script>
查分数demo:分数值从大到小逻辑
<script>
//分数从大到小判断比较合理
var value = prompt('请输入您的考试成绩');
if (value > 100) {
alert('输入的分数值不合法')
} else if (value >= 90) {
alert('学霸');
} else if (value >= 80) { //这里不用写 (>=80 && <=90) 因为大于90的都已经执行了上面的判断条件了
alert('优秀');
} else if (value >= 70) {
alert('需要加油了')
} else if (value >= 60) {
alert('刚刚及格')
} else {
alert('您竟然不及格');
}
</script>
二 三元表达式
1)概念
由三元运算符组成的式子 我们称为三元表达式
运算符
//1 一元运算符三个: ++ -- ! [ 加加 减减 取反 ] //2 三元运算符一个:【? :】 //3 二元运算符:除了一元和三元都是二元。
2)基本语法
条件表达式 ? 表达式1 : 表达式2
//1 条件表达式的值为真 返回表达式1的值
//2 条件表达式的值为假 返回表达式2的值
3)代码示例
var res = 5 > 4 ? '正确' : '错了';//表达式都有返回值 把返回值赋给一个变量 console.log(res);//正确
小demo:自动补0
//客户输入小于10的数字 前面自动补0 大于10原样输出 var value = prompt('请输入数字');//获取客户输入的值 var res = value < 10 ? 0 + value : value;//三元表达式 alert(res);
三 switch分支
var name = '山西'; switch (name) { case '天津': alert('我是天津人'); break; case '山西': alert('我是山西人');//输出 我是山西人 break; case '北京': alert('我是北京人'); break; default : alert('您肯定是中国人'); } //把 表达式的值 和 case里面的 选项值 进行匹配 //如果匹配到就执行case里面的代码 //匹配不到就执行default的代码
使用重点
1 switch的 条件变量值 和每个case后面的值 进行 全等匹配
2 每个case后面应该书写break
四 if 和 switch 的区别
switch 用于 固定值判断
if else 用于范围判断 [ 大于等于某个范围 ] 更灵活一些
当分支比较少的时候用 if else 效率比较高
分支多的时候用switch 结构清晰 效率比较高
