分支结构
1.流程控制语句
在JS中,程序执行的单位是行,也就是程序是一行一行的执行的,一般情况下一条语句就是一行。当然,你也可以将多条语句写在一行,但是不推荐大家这么做,因为这样写代码的可读性会降低。
程序的三大结构(了解) 顺序结构 选择结构 循环结构
1.1 顺序结构
console.log("hello");
console.log("hello2");
console.log("hello3");1.2 分支结构
分支结构(也叫选择结构)根据不同的情况,执行对应的代码
1.3 循环结构
循环结构:重复做一件事情
2.if语句
2.1 if
if语句会先判断一个条件表达式的布尔值,然后根据该值决定是否执行某些特点的语句。
语法
if(条件表达式){
// 语句...(当条件成立的时候就会执行大括号里面的代码)
}
//或者
if(条件表达式) //语句...
// 当{}中只有一条语句的时候可以省略{}上面的代码可以使用简略的写法,但是不建议咱们同学这么做(因为是新手)。
if(10<20){// 表达式结果为true
console.log('我执行了!');// 会执行
}
console.log('我总会执行');
if(10>20){// 表达式结果为false
console.log('我执行了!');// 不会执行
}
console.log('我总会执行');练习:输入一个整数判断是不是偶数(注:通过prompt语法 输入框)
// 输入一个整数判断是不是偶数(注:通过prompt语法 输入框)
// 思路
// 1. 接受输入的数据
// 2. 判断 数字 % 2 == 0 偶数 奇数
// 1. 接受输入的数据
var data = prompt("请输入一个整数");
console.log(data);
// 2. 判断 数字 % 2 == 0 偶数 奇数
if (data % 2 == 0) {
alert("偶数")
}2.2 if...else...
有时候我们会遇到有两个选项必须选择其中一个的时候可以使用if...else结构。
语法
if(条件表达式){
// 条件成立 走第一个大括号代码
} else {
// 条件不成立 走第二个大括号代码
}练习:输入一个整数判断是奇数还是偶数(注:通过prompt语法)
// 输入一个整数判断是奇数还是偶数(注:通过prompt语法)
// 1. 接受用户输入的数据
var data = prompt("请输入一个整数?")
console.log(data)
// 2. 判断 条件 数据 % 2 == 0 偶数 奇数
// if (data%2==0) { // 留心:两个等于
var rs = data%2==0 // 比较的结果
if (rs) { // 结果 真 假
alert("偶数")
} else {
alert("奇数")
}2.3 if...else if...
我们也会遇到多个选择条件,这时候使用简简单单的if..else就不能很好的解决问题了,所以JS语言还为我们准备了多重if结构。
语法
if(表达式1){
console.log('表达式1为真我执行');
}else if(表达式2){
console.log('表达式2为真我执行');
}else if(表达式3){
console.log('表达式3为真我执行');
}else{
console.log('他们都不执行我就执行');
}
//留心:只要有一个条件成立了,后续代码就不走了!!!练习:
输入一个成绩判断该成绩属于哪个分类 90分及以上,优秀; 80分及以上,良好 70分及以上,一般 60分及以上,及格 60分以下,不及格
// 输入一个成绩判断该成绩属于哪个分类
// 90分及以上,优秀;
// 80分及以上,良好
// 70分及以上,一般
// 60分及以上,及格
// 60分以下,不及格
// 1. 声明变量 存放成绩 score cj
// 2. 判断成绩
// 1. 声明变量 存放成绩 score cj
var score = prompt("请输入成绩")
// 2. 判断成绩
if (score >= 90) {
alert("优秀")
} else if (score >= 80) {
alert("良好 ")
} else if (score >= 70) {
alert("一般 ")
} else if (score >= 60) {
alert("及格 ")
} else {
alert("不及格")
}3.switch条件分支结构
我们再看选择结构中最后一个switch。Switch结构和if...else if...else结构非常像,它们都能够进行对变量的多次判断并给出相应的处理方案。
语法
switch(要判断的变量){
case 值1:
// 值1成立,执行的代码
break;
case 值2:
// 值2成立,执行的代码
break;
case 值3:
// 值3成立,执行的代码
break;
default:
// 以上都不成立执行的代码
}- switch语句中break是必须的,如果缺失了break就会发生switch穿透。
switch穿透是指当switch语句中某一个case被匹配到并且该case下的语句会被执行,当case部分逻辑执行完毕之后如果没有break的话就会一直往下一个case匹配。也就是说在switch语句中当case被匹配到,程序只有遇到break才会跳出switch。
- switch、case、default都是系统关键词
- switch常用于固定值判断
练习
需求: 根据变量给出的数字显示是星期几
代码:
// 需求: 根据变量给出的数字显示是星期几
// 代码
// 1.声明变量
var day = 2 // 1 2 3 4 5 6 7
// 2.判断
switch (day) {
case 1:
console.log('星期1')
break;
case 2:
console.log('星期2')
break;
case 3:
console.log('星期3')
break;
case 4:
console.log('星期4')
break;
case 5:
console.log('星期5')
break;
case 6:
console.log('星期6')
break;
case 7:
console.log('星期天')
break;
default:
console.log('你确定你是地球人!!!')
break;
}4.switch判断和if判断的区别
if常用于范围判断(思考:可不可以写固定值判断,回答:可以 根据你写的运算符来决定 ==)
switch常用于固定值判断(其他了解:也可以范围判断、当条件true 全等判断
验证支持范围判断
// 输入一个成绩判断该成绩属于哪个分类
// 90分及以上,优秀;
// 80分及以上,良好
// 70分及以上,一般
// 60分及以上,及格
// 60分以下,不及格
// 1. 定义变量存放成绩
var score = 5
// 2. 判断 了解
switch (true) {
case score>=90:
console.log('优秀')
break;
case score>=80:
console.log('良好')
break;
case score>=70:
console.log('一般')
break;
case score>=60:
console.log('及格')
break;
case score>=0:
console.log('不及格')
break;
default:
console.log('有瑕疵')
break;
}验证固定值判断的是全等
// 验证:全等
var num = 1
switch (num) {
// case 1:
case '1':
console.log(111)
break;
case 2:
console.log(222)
break;
default:
console.log(666)
break;
}验证:break不写就会出现问题 case穿透 90%都加
// 验证:case穿透
var num = 1
switch (num) {
case 1:
console.log(111)
// break;
case 2:
console.log(222)
// break;
case 3:
console.log(333)
// break;
default:
console.log(666)
break;
}5.三元运算
语法
三元运算:顾名思义就是有三个操作组成(注:两个符号)
语法:
条件 ? 操作1 : 操作2如果条件成立,执行操作1
如果条件不成立,执行操作2
