1 流程控制语句
// 1.1 分支结构:根据不同的条件,执行不同的路径的代码,从而得到不同的结果!!
// 1.2 JS 提供了两种分支结构的语句
// if 语句 switch 语句
2 if 分支语句
2.1 语法结构
// if (条件表达式) {
// 条件代码正确后 执行语句
// }
2.2 执行思路: 如果if里面的条件表达式为真,执行大括号里面的,如果为假不执行,执行后面的代码
2.3 进入网吧的案例
// 要求: 弹出一个输入框,要求用户输入年龄,如果年龄大于18岁,允许进入网吧
<script>
var age = prompt('请输入您的年龄:');
if (age > 18) {
alert('您满足规定年龄,可以上网!')
}
</script>
3 if else 双分支语句
// 条件成立执行 if 里面的代码,否则执行 else 里面的代码
// if (条件表达式) {
//如果成立,执行的代码1
// } else {
// 条件不成立,执行的代码2
}
3.1 进入网吧案例的拓展练习
<script>
var age = prompt('请输入您的年龄:');
if (age > 18) {
alert('您满足规定年龄,可以上网!');
} else {
alert('您的年龄不符合,不能进入网吧哦!');
}
</script>
3.2 判断闰年的案例
// 要求: 接收用户输入的年份,如果是闰年就弹出闰年,否则弹出平年
<script>
var year = prompt('请输入您想要验证的年份:');
if (year % 4 == 0 && year % 100 != 0 && year % 400 == 0) {
alert('' + year + '是闰年');
} else {
alert('' + year + '不是闰年,是平年');
}
</script>
4 if else if 多分支语句
4.1 多分支语句: 就是利用多个条件来选择不同的语句执行,得到不同的结果!
4.2 语法规范
// if (条件表达式1) {
// 语句1;
// } else if (条件表达式2) {
// 语句2;
// } else if (条件表达式3) {
// 语句3;
// } else {
// 执行最后的语句
// }
4.3 执行思路:依次类推执行!!!!
// 4.4 注意点:
1 只能执行上述语句的之一
2 else if 里面的条件理论上可以是任意多的
3 else if 中间有个空格
4.4 判断成绩的案例
// 要求: 接收用户输入的分数,根据分数输出对应的等级
<script>
var grade = prompt('请输入您的分数:');
if (grade >= 90) {
alert('您获得的分数等级为: A');
} else if (grade >= 80) {
alert('您获得的分数等级为:B');
} else if (grade >= 70) {
alert('您获得的分数等级为:C');
} else if (grade >= 60) {
alert('您获得的分数等级为:D');
} else {
alert('您获得的分数等级为:E');
}
</script>
5 三元表达式
5.1 语法结构:
// 条件表达式 ? 表达式1 : 表达式2
// 执行思路 如果表示结果真,返回表达式1的值,如果表达式结果为假,返回表达式2 的值
5.2 补充0的实际案例
// 要求: 用户输入一个数字,小于10 ,前面自动补充0,比如01,数字大于10 ,则不需要。
<script>
var time = prompt('请您输入一个0~59之间的数字');
var result = time < 10 ? '0' + time : time; // 把返回值 赋值 给一个变量
alert(result);
</script>
6 switch 分支语句
它用于给予不同条件来执行不同的代码,针对变量设置一系列的特定值的选项
6.1 语法结构
// switch (表达式) {
// case value1:
// 执行语句1;
// break;
// case value2:
// 执行语句2;
// break;
// defalut:
// 执行最后的语句;
// }
6.2 执行思路: 利用表达式的值 和 case后面的选项值相匹配
6.3 注意事项:
// 1 开发中,表达式经常写成 变量
// 2 我们表达式的 值 和 case 里面的值 必须要全等,值和类型都要一致。
// 3 break 必须要写上去,如果没有,不会退出,会继续执行下一个case值。
6.4 查询水果的案例
要求: 用户在弹出框里面输入一个水果,有就弹出水果的价格,如果没有,就弹出没有此水果
<script>
var fruit = prompt('请输入您想要查询的水果的价格:');
switch (fruit) {
case '苹果':
alert('苹果的价格是 3.5/斤');
break;
case '香蕉':
alert('香蕉的价格是 4.0/斤');
break;
case '橙子':
alert('橙子的价格是 2.8/斤');
break;
default:
alert('咩有查询到该水果的价格!');
}
</script>
6.5 switch 和 if else if 的区别
// 1 一般情况下,他们两个语句是可以相互替换的
// 2 switch 语句通常处理 case 值确定,if else 语句通常处理 范围
// 3 switch 语句判断后,直接执行程序的条件语句,if else 需要判断多次
// 4 当分支比较少的时候,if else效率高 ,分支比较多的时候switch 效率高
// 5 对于 if else 中 的范围取值,一般从大到小进行书写代码!!!
今日课后作业:
1 判断时间段,用户输入12点,弹出中午好,18点,傍晚好,23点,深夜好!
<script>
var time = prompt('请输入您现在所处于的时间段:');
if (time >= 18) {
alert('傍晚好!');
} else if (time >= 12) {
alert('下午好!');
} else if (time >= 8) {
alert('上午好!');
}
</script>
2 比较两个数的最大值(用户输入两个数,最后弹出最大的值)
<script>
var num1 = prompt('请输入您的第一个数字:');
var num2 = prompt('请输入您的第二个数字:');
if (num1 > num2) {
alert('数字' + num1 + '>数字' + num2 + '');
} else {
alert('数字' + num2 + '>数字' + num1 + '');
}
</script>
3 用户输入一个数,来判断是奇数还是偶数
<script>
if (num % 4 == 0 && num % 100 != 0 && num % 400 == 0) {
alert('' + num + '是偶数');
} else {
alert('' + num + '是奇数');
}
</script>
4 根据用户输入的数值(1-7),返回星期几
<script>
var num = prompt('请输入您想要查询的数字:'); // 特别注意,prompt会把数字变成字符型!!!
switch (num) {
case '1':
alert('今天是星期一呀');
break;
case '2':
alert('今天是星期二呀');
break;
case '3':
alert('今天是星期三呀');
break;
case '4':
alert('今天是星期四呀');
break;
case '5':
alert('今天是星期五呀');
break;
case '6':
alert('今天是星期六呀');
break;
case '7':
alert('今天是星期天呀');
break;
default:
alert('出错啦!!!')
}
</script>
5 接收班长口袋里面的钱?如果大于2000,请大家吃西餐,如果小于2000,大于1500,吃快餐
如果小于1500,大于1000,请大家喝奶,如果小于1000,大于500,请大家吃棒棒糖,否则
提醒下次把钱带够
<script>
var money = prompt('班长同学,请输入你带的钱数:');
if (money >= 2000) {
alert('可以带同学们去吃西餐哦!');
} else if (money >= 1500) {
alert('可以带同学们去吃快餐哦!');
} else if (money >= 1000) {
alert('可以带同学们去喝奶茶哦!');
} else if (money >= 500) {
alert('可以带同学们去吃棒棒糖哦!');
} else {
alert('钱太少了,下次记得带够哦!');
}
</script>