码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-06-07 16:46:25      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:nbsp   字符串   运行   影响   class   style   开始   想去   失败   

        // 短路与要左右同时满足才为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,运算短路终止
        // 逻辑中断很重要 它会影响我们程序运行结果思密达

 

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

标签:nbsp   字符串   运行   影响   class   style   开始   想去   失败   

原文地址:https://www.cnblogs.com/sangejava/p/13060943.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!