短路与&& 和 短路或|| 详细解释
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,运算短路终止
// 逻辑中断很重要 它会影响我们程序运行结果思密达
以上是关于短路与&& 和 短路或|| 详细解释的主要内容,如果未能解决你的问题,请参考以下文章