JavaScript 逻辑或和逻辑与

JavaScript 逻辑或和与的其他用法

首先先要了解什么是“短路效应”

短路效应

通俗一点说,可以理解为没必要继续算

  • || 或运算 大家都知道当两边只要有一边为真,那么表达式为真
  • && 与(且)运算 当两边只要有一边为假,那么表达式为假

如果||的左边表达式的值为真(或者&&左边表达式为假),那么右边表达式根本不会执行,这就是短路

表达式值

刚开始学的时候很容易跟其他语言搞混,以为最后的结果只能是true和false,这是不对的

一句话来总结就是:<u>最后执行到哪边,它就是哪边</u>。

如果还感觉有点懵的话,继续看看他的运算步骤

运算步骤

他真正的运算步骤如下,我们有a||b

  1. 首先我们执行a,如果a的值为true,直接短路,那么表达式的值直接为a的值,后面不执行
  2. 如果a的值为false,那么开始执行b,不管b为什么值,表达式最后的值都等于b的值
1||任意值  //结果都是1
0||任意值  //结果为任意值

且(与)运算同理,我们有a&&b

  1. 首先我们执行a,如果a的值为false,直接短路,那么表达式的值直接为a的值,后面不执行

  2. 如果a的值为true,那么开始执行b,不管b为什么值,表达式最后的值都等于b的值

    0&&任意值 //结果为0
    1&&任意值 //结果为任意值
    
用法

|| 常用来做一些兼容性的问题

let a = str || '' //如果没有获取到str那就取空字符串

&& 可以当一个简易的if,不能完全代替if

flag && alert('哈哈') 
//可以理解为
if(flag){
    alert('哈哈')
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容