逻辑分支

Posted wufenfen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逻辑分支相关的知识,希望对你有一定的参考价值。

程序的结构

 程序的结构:
        顺序结构:
            自上而下依次执行
        分支(选择)结构:
            有多条执行方案,可供选择
        循环结构:
            循环,重复执行某一段指定的代码

    分支,循环,都需要配合专用语句

    学习分支语句是什么?

 

分支语句

单分支语句

单分支语句:if(){}

  if      语句名
    ()      条件:布尔值
    {}      执行语句
    
demo:
    if(false){
        console.log("hello")
    }

 

双分支语句

双分支语句:if(){}else{}

 if      语句名
    ()      条件:布尔值
    {}      执行语句1:当条件为true时执行的语句
    else    语句名的一部分
    {}      执行语句2:当条件为false时执行的语句
demo:
    if(false){
        console.log("hello");
    }else{
        console.log("world");
    }

 

多分支语句

多分支语句:

双分支模拟的多分支:分支的嵌套
    var a = 6;
    if(a > 0){
        console.log("正数");
    }else if(a == 0){
        console.log("零")
    }else{
        console.log("负数");
    }

 

多分支语句:switch( ){ }

switch(){}
    switch      语句名
    ()          要判断的值
    {}          分支体
    demo:
        var a = 8;
        switch(a){
            case 0:
                console.log("星期天");
                break;
            case 1:
                console.log("星期一");
                break;
            case 2:
                console.log("星期二");
                break;
            default:
                console.log("你输入的数字有误,请输入0~6之间的数字");
        }

 

case的穿透特性 阻止穿透

关键字:break:阻止穿透

default表示以上case都不执行时,要执行的语句

 

分支的简写方式

 

逻辑运算符的其它用法

 

或,||: 两边只要有一个true,即为true
如果左边是true(或可以转成true),可以确定结果,结果为左边的值,停止执行
如果左边是false(或可以转成false),那么||不能确定结果,继续向右检测,不管右边是什么,最终的值都是右边的值

 

|| 或
或两边只要出现true就是true

    console.log( true || false );       // true
    console.log( false || true );       // true
    console.log( true || 0 );       // true
    console.log( 0 || true );       // true
    console.log( 0 || 1 );       // 1
    console.log( 1 || 0 );       // 1

    console.log(false || 0);    // 0
    console.log(0 || false);    // false

    console.log(true || 1);     // true
    console.log(1 || true);     // 1

    console.log(10 || 20);      // 10
    console.log(20 || 10);      // 20

    console.log( 0 || 10 );     // 10   // 0会被转化成false,10会被转化成true
    console.log( 10 || 0 );     // 10
    


应用:
    var a = 10 || 20;
    var b = undefined || false;
    var c = NaN || null;
    console.log(a)              // 10
    console.log(b)              // false
    console.log(c)              // null

 

 

同理,&&

 

与,&&: 两边都为true,即为true
如果左边是false(或可以转成false),停止执行,结果为左边的值
如果左边是true(或可以转成true),那么&&不能确定结果,继续向右检测,不管右边是什么,最终的值都是右边的值

 

console.log( true && false );   // false
    console.log( false && true );   // false
    console.log( true && 0 );       // 0
    console.log( 0 && true );       // 0
    console.log( 0 && 1 );       // 0
    console.log( 1 && 0 );       // 0

    console.log(false && 0);    // false
    console.log(0 && false);    // 0

    console.log(true && 1);     // 1
    console.log(1 && true);     // true

    console.log(10 && 20);      // 20
    console.log(20 && 10);      // 10

    console.log( 0 && 10 );     // 0
    console.log( 10 && 0 );     // 0

    var a = 10 && 20;
    var b = undefined && false;
    var c = NaN && null;
    console.log(a);             // 20
    console.log(b);             // undifined
    console.log(c);             // NaN

 

 

其它--value特性

 

表单input的value自身的特性:永远为字符型(不管你给它什么,只要进了页面就是字符)

 

 

 

 

以上是关于逻辑分支的主要内容,如果未能解决你的问题,请参考以下文章

简化条件表达式

多分支相似逻辑重构设计

逻辑分支

gitlab 权限说明

MVC 视图中的分支逻辑

此应用小部件片段中所有意图 (PendingIntents) 的逻辑流