分支语句

94 阅读3分钟

什么是分支语句

JS 代码是从上往下按照顺序依次执行的,从第一行代码一直执行到最后一行代码
如果有一种情况是我有两段代码,我只需要执行其中一个即可,那么就可以用到分支语句
简单来说:分支语句就是根据我们设定好的条件来决定要不要执行某些代码

if 分支语句

  1. if 分支语句的基本书写
    if(条件){ 想要执行的代码 }
if(true){
    consloe.log("因为条件是 true 所以可以打印")
}

// if:关键字,表明后续是一段 if 分支语句
// ():小括号内部填写条件,用于决定是否执行后续内容
// {}:花括号内部填写要执行的分支代码,如果条件为真,则会执行
  1. if...else 语句的基本书写
    if(条件){ 条件为真时,执行代码 } else { 条件为假时,执行的代码 }
if(true){
    console.log('因为条件是 true,所以可以打印出来')
} else {
    console.log('因为条件是 true 所以不可以打印出来')
}

// else: 表明前边条件都为false时,执行后续的花括号内的代码
  1. if...else if 语句的基本书写
    if(条件1){ 条件1成立的时候执行的代码 } else if (条件2) { 条件2成立的时候执行的代码 } else { 上述条件全不满足的时候执行的条件
if(false) {
    console.log("条件不成立不执行")
} else if(true) {
    console.log("条件成立 执行")
} else {
    console.log("上述条件有成立的 不执行")
}

如果第一个条件为 true ,那么就会执行后面 {} 的内容
如果第一个条件为 false,那么就会判断第二个条件
如果第二个条件也为 false,那么会依次往后执行


多个 {} 只会有一个被执行,一旦有一个条件为 true,后面的就不再判断了
如果所有的条件都为 false,那么会执行最后的 else {} 分支
如果所有的条件都为 false,且没有最后的 else {} 分支,那么当前 if 分支不会有任何代码段被执行

var num = 100
if(num === 100){
    console.log(num = "101")
} else if(num === 101){
    console.log(num = "102")
}

// 101

switch 分支语句

switch 也是条件判断语句的一种,是对于某一个变量的判断(全等的判断,数据类型不一致时会导致判断失败)

  1. switch 分支语句的基本书写
switch(要判断的变量){
    case 情况1:
        情况1要执行的代码
        break
    case 情况2:
        情况2要执行的代码
        break
    default:
        上述情况都不满足的时候执行的代码
}
var num = 103
switch(num) {
    case 100:
        console.log("num === 100")
        break
    case 200:
        console.log("num === 200")
        break
    case 103:
        console.log("num === 103")
        break
    default:
        console.log("上述 case 都不符合")
}

2.switch 穿透语句的基本书写

从第一个满足条件的 case 开始
如果没有 break,那么后面的条件不在判断,直接执行代码
直到遇到一个 break 或者 switch 结束

输入一个数字判断当前月份有几天,2月按照28天

var month = 7
switch(month){
    case 1:
    case 2:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 11:
        console.log(month + "月有31天")
    case 4:
    case 6:
    case 9:
    case 12:
        console.log(month + "月有30天)
    case 2:
        console.log(month + "月有28")
        break
}

三元表达式(三元运算/三目运算/三目

条件 ? 条件为真执行的代码 : 条件为假执行的代码
意义:对 if...else 语句的简写
注意:执行代码的位置只能写一句话

// 执行代码
var num = 5
num % 2 == 0 ? console.log("num为偶数") : console.log("num为奇数")    // "num为奇数"

// 给变量赋值
var num = 1   // 暂且规定 num === 1 的时候代表为男性,num === 2 的时候代表为女性
var gender = num == 1 ? "男" : "女"
console.log(gender)     // "男"