八.条件判断
表达式: 定义
就是有返回值的就是表达式
条件判断:
代码执行的时候 在某种条件下执行A, 其余情况下执行B
判断条件:
两个结果的: true false
- if
if(A){
B
}
//如果A为真, B里面的内容都会执行
//A为假, B里面的就不执行
let input = document.querySelector(".input");
let button = document.querySelector(".button");
button.onclick = function () {
if(!!input.value){
console.log(input.value)
}
}
// 声明变量没有给初始值的时候值是 undefined
let a = 123
if(a){
console.log("a里面有内容")
}else{
console.log("a里面没有内容")
}
let obj = {}
if(obj.a){
console.log("a属性存在")
}else{
console.log("a属性不存在")
}
- if…else
if(A){
B
}else {
C
}
//如果A为真 执行B
//否则 执行 C
let food = "大米" // "火锅"
// console.log(food === "大米")
if(food === "大米"){
console.log("大米真好吃")
}else {
console.log("没有大米也一样")
}
console.log("大米真好吃")
console.log("火锅真香")
- if…else if …else
n选一:
早上 吃早饭
中午 吃午饭
下午 吃晚饭
其余 吃零食
let time = "凌晨" // 中午 下午 晚上 其他时间(其余剩余所有情况)
if(time === "早上"){
console.log("吃早饭")
}else if(time === "中午"){
console.log("吃午饭")
}else if(time === "下午"){
console.log("吃晚饭")
}else{
console.log("吃零食")
}
/**
* else 涵盖的范围:
* 剩余所有情况
*
*/
- switch
switch 开关, 条件
case 情形, 场景, 状态
break 停止, 结束
default 默认, 其他情况
switch(判断内容变量){
case 需要判断的值
}
//使用 === 进行判断的
switch case的局限:
能进行什么条件判断
只能进行精确匹配
不能进行什么条件判断
不能进行返回判断
let num = "1" // 1 2 3 4 5 6
// 判断的时候: 判断结构相似, 判断条件很多
if(num === 1){
console.log("最小")
}else if(num === 2){
console.log("第二小")
}else if(num === 3){
console.log("扔出了3")
}else if(num === 4){
console.log("扔出了4")
}else if(num === 5){
console.log("扔出了5")
}else if(num === 6){
console.log("扔出了6")
}
/**
* 判断相等 有两种方式
* == 会进行隐式类型转换
* === 不会
*/
let num = 1
switch (num) {
case num > 80:
console.log("此时的num是1")
break // 跳出后续的判断
case 2:
console.log("此时的num是2")
break
case 3:
console.log("此时的num是3")
break
case 4:
console.log("此时的num是4")
break
case 5:
console.log("此时的num是5")
break
case 6:
console.log("此时的num是6")
break
default: // 前面匹配都失败, 就会进入最终的判断
console.log("没有匹配的情况")
break
}