短路与&& 和 短路或|| 详细解释

Posted sangejava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了短路与&& 和 短路或|| 详细解释相关的知识,希望对你有一定的参考价值。

        // 短路与要左右同时满足才为true,既左边是false,那右边没必要再执行
        // 例:张飞"与"关羽去挑水,就能完成任务,所以必须同时去 完成任务 获得true,
        // 要是张飞关羽之中只有一个去了,任务失败 就为false
        // 空字符串与0是假的,其余为真的  
        // 如果123为真 返回456(左为true,右去判断,运算完毕干完活了,最终返回右边表达式2)  
        // 如果123为假 返回123(左为false,右因左短路不再执行,最终返回左边表达式1)  
        console.log(123 && 456); // 456  左边有值为true
        console.log(false && true); // 左边为false,右边不运算,在表达式1中断了,返回表达式1
        console.log(true && false); // 左边为true后看右边,在表达式2中断了,返回表达式2
        console.log(true && true); // 同时为true 则输出true
        // 空字符串与0是假的,其余为真的  
        console.log(0 && 456); //  0 左边值是0,左边是false,右边不执行
        console.log(0 && 1 + 2 && 456 * 56789); //左边值是0,左边是false,右边不执行
        console.log(‘‘ && 1 + 2 && 456 * 56789); // 左边值是‘‘,左边是false,右边不执行

        // 逻辑或短路运算  
        // 例:张飞"或"关羽去挑水,就能完成任务,所以2选1 随便哪个人去完成任务,
        // 要是张飞关羽两个都不想去,任务失败 就为false
        //如果表达式1 结果为真 则返回的是表达式1 如果表达式1 结果为假 则返回表达式2去判断
        console.log(123 || 456); // 123
        console.log(true || false);//此时左边true,返回true
        console.log(false || true);//此时左边false,返回给右边运算,右边为true,则最终返回true
        console.log(123 || 456 || 456 + 123); // 123 刚开始123不为0就是true了,运算短路终止
        console.log(0 || 456 || 456 + 123); // 456 刚开始是0,所以返回右边456,456为true,运算短路终止
        // 逻辑中断很重要 它会影响我们程序运行结果思密达

 

以上是关于短路与&& 和 短路或|| 详细解释的主要内容,如果未能解决你的问题,请参考以下文章

&&(短路与)&|||(短路或)

短路与&&(或 ||)和非短路与&(或 |)的区别

逻辑运算符短路与,短路或

25短路逻辑运算符

25短路逻辑运算符

Java 中与(&)短路与(&&)以及 或(|)短路或(||)的关系