原创

JavaScript—分支语句


  • 分支语句可以让我们有选择性的执行想要的代码

  • 其包含:if分支语句 三元运算符 switch语句

if语句

if语句有三种使用:单分支、双分支、多分支

if单分支语句

// if (条件) {
//     满足条件要执行的代码
//   }
// if (true) {
//      console.log('执行语句')
//    } //执行语句,条件为true,

// 除了0 所有数字都为真
if (0) {
      console.log('执行语句')
    } //不执行语句

if (3 > 5) {
      console.log('执行语句')
    } //false,不执行

 if (2 === '2') {
      console.log('执行语句')
    } //false,不执行

    if ('张三岁') {
      console.log('执行语句')
    } //执行

// 除了空字符串 所有字符串都为真
    if ('') {
      console.log('执行语句')
    } //不执行
  • 括号内的条件为true时,进入大括号里执行代码

  • 小括号内的结果若不是布尔型时,会发生隐式转换为布尔类型

  • 如大括号只有一个语句,大括号可以省略,但不提倡这么做

注:

  1. 除了0 所有数字都为真 ,只有0 不被执行
  2. 除了'' 所有字符串都为真 ,空字符串,当假看,不被执行

if双分支语句

  • 二选一,两行代码只能有一行被执行

  • 语法:

    if (条件) {
        满足条件要执行的代码 1
       } else {
    	 不满足条件执行的代码 2
    } // 这两行代码只能有一行被执行
    

if多分支语句

  • 多选一,适合于有多个结果的时候,比如学习成绩可以分为:优良中差

  • 语法:

    if(条件1) {
        代码1
    } else if (条件2) {
        代码2
    } else if (条件3) {
        代码3
    } else {
        代码n
    }
    
  • 释义:

    • 先判断条件1,满足条件1就执行代码1,其他不执行

    • 若不满足则向下判断条件2,满足2就执行2,其他不执行

    • 若依次不满足继续往下判断,依次类推

    • 若以上条件都不满足,执行else里的代码n

      注:可写n个条件,但这里演示只写2个

三元运算符

  • 适合比较简单的双分支语句写法,可用三元表达式,如复杂的还是推荐if else

  • 符号:问号**?冒号**:配合使用,

  • 一般用来取值

  • 语法:

    条件 ? 满足条件执行的代码 : 不满足条件执行的代码
    
    let sum = 3 < 5 ? 3 : 5 //3小于5吗,如果小于5,问号后面就是满足条件为3,否则冒号后面不满足添条件为5
    console.log(sum)
    

switch选择语句

  • switch开关 default默认 break退出

  • 语法:

    switch (数据即表达式) {
            case 值1:
            	代码1
            	break
            case 值2:
            	代码2
            	break
            default:
            	代码n
            	break
    }
    
         switch (1) {
           case 1 :
             console.log('您选择的是1')
             break //退出switch
           case 2 :
             console.log('您选择的是2')
             break //退出switch
           case 3 :
             console.log('您选择的是3')
             break //退出switch
           default:
             console.log('没有符合条件的')  
         }
    
  • 释义:

    • 找到跟小括号里数据全等case值,并执行里面对应的代码
    • 若没有全等 === 的则执行default的代码,default等价于else
    • 如:数据若跟值2全等,则执行代码2

  1. switch case语句一般用于 等值判断,不适合区间判断
  2. switch case一般需要配合break关键字使用 没有break会造成break穿透也就是后续的case语句不具有匹配效果,内部的语句都会执行;直到看见break,或switch执行结束,穿透才会结束。

if多分支语句和switch选择语句的区别

  1. 共同点:
    • 都能实现多分支选择,多选1
    • 大部分情况下可互换
  2. 区别:
    • switch...case语句通常处理case为比较确定值的情况,而if...else...语句通常用于范围判断(大于,等于某个范围)
    • switch语句是进行判断后直接执行到程序的语句,而if...else有几种判断条件,就得判断多少次
    • switch必须是全等,一定要注意数据类型,同时注意break否则会有穿透效果
  3. 结论:
    • 分支比较少,if...else执行效率高
    • 分支比较多,switch执行效率高,结构更清晰
  • 作者:管理员(联系作者)
  • 发表时间:2023-12-21 09:49
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公众号二维码
  • 评论