一.if语句有三种使用:单分支、双分支、多分支
1. 单分支使用语法:括号内的条件为true时,进入大括号里执行代码
小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
练习1:
用户输入年成绩,如果年龄大于18,则提示恭喜你已经成年
let age = +prompt("请输入您年龄:");
if (age >= 18) {
alert("恭喜你已经成年")
}
2.双分支if语法:
练习2:
让用户输入年份,判断这一年是闰年还是平年并输出
能被4整除但不能被100整除,或者被400整除的年份是闰年,否则都是平年
let year = prompt("输入年份")
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
alert(year + "是闰年")
}
else {
alert(year + "是平年")
}
3.多分支if语法
练习3
需求:根据输入不同时间,输出不同的问候语
12点以前, 输出上午好
18点以前, 输出下午好
20点以前, 输出晚上好
let time = +prompt('输入时间')
if (time < 12) {
alert('上午好')
}
else if (12 <= time < 18) {
alert('下午好')
}
else if (18 <= time < 20) {
alert('晚上好')
}
else {
alert('请输入正确时间')
}
二.switch 语句
(1)语法结构
switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用 switch。
switch( 表达式 ){
case value1:
// 表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式 等于 value2 时要执行的代码
break;
default:
// 表达式 不等于任何一个 value 时要执行的代码
}
练习4
用户在弹出框里面输入一个水果,如果有就弹出该水果的价格, 如果没有该水果就弹出“没有此水果”。
let str = prompt("输入水果名称")
switch (str) {
case "苹果": alert(5); break;
case "香蕉": alert(5); break;
case "葡萄": alert(5); break;
case "橙子": alert(5); break;
case "哈密瓜": alert(5); break;
default: alert("没有此水果")
}
拓展: switch 语句和 if else if 语句的区别
① 一般情况下,它们两个语句可以相互替换
② switch...case 语句通常处理 case为比较确定值的情况, 而 if…else…语句更加灵活,常用于范围判断
(大于、等于某个范围)
③ switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else 语句有几种条件,就
得判断多少次。
④ 当分支比较少时,if… else语句的执行效率比 switch语句高。
⑤ 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。