JS中逻辑运算符 && 和 || 的一点小总结

本文详细解析了JavaScript中的逻辑与(&&)和逻辑或(||)运算符的优先级及执行机制。通过实例展示了如何在表达式中使用这两个运算符,并分析了其遇到真值或假值时的短路行为。最后,文章强调了&&和||的主要作用是进行布尔值的逻辑运算,并返回相关变量。
摘要由CSDN通过智能技术生成

JS中的 && 和 ||

在JS中的 逻辑与 逻辑或

&& 优先级高于 ||

⑴逻辑与  && 的运算 : 一个为假就为假,全真则为真,遇假则停

例子 : a && b

 如果a是false,那么b不管是true 还是false ,都会返回a的结果false , 因此就不用判断b了 ,因为这个时候刚好判断了a ,因此返回a。

如果a 是true , 那么就要继续判断 b , 不管b 是true还是false , 都会返回b 。

⑵逻辑或  || 的运算 : 一个为真就为真,全假则为假,遇真则停

例子 : a || b

  如果a是false, 那么就要判断b ,继而返回b的结果。其实就是返回b。

如果a是true , 那么不管b 是true还是false, 都会返回true,返回前面的结果,因此不用判断b了,这个时候刚好判断到a,因此返回a。

做一个复杂一点的例子 : (注意在JS中&&运算符优先级大于|| )

假设 :

  var a=new Object(), b=0, c=Number.NaN, d=1, e=Hello;

  Console.log( a || b && c || d && e );

( a || b && c || d && e ) 表达式从左往右执行,先&&后||

  1. 先执行 ( b&& c) : b是false , 此时不需要判断c , 因为不管c是true还是false , 都会返回 b , 最终结果一定是false, 因此返回当前判断对象 b , 就是0 ;
  2. 然后执行 ( d && e ) : d是 true , 这个时候判断e ,此时不管e是true 还是false , 返回结果一定是e , e为true , 因此返回 Hello ;
  3. 再执行(a || b) : a 是true, 此时不管 b 是true 还是false, 结果都是true , 所以不用判断b ,所以返回当前判断对象 a , 因此返回new Object() ;
  4. 最后执行 (a || e) : 同上逻辑 , 因此返回 a 。

这个表达式的最终结果为 a ,也就是 new Object () ;

所以 透过现象发现本质,本质是什么呢 ?

&& 和 || 的作用只有一个(定义)进行布尔值的且和或的运算。当运算到某一个变量就得出最终结果之后,就返回哪个变量

文字描述区别 :

  1. 运算表达的不同

 只要  ||  前面 为false, 不管  ||  后面 是true 还是 false , 都返回  ||  后面的值。只要  ||  前面 为true , 不管  ||  后面 是true 还是false , 都返回  ||  前面的值

     2. 使用方式的不同

 只要  &&  前面 是false , 无论  &&  后面 true 还是 false , 结果 都将返  &&  前面的值; 只要  &&  前面是true , 无论  &&  后面是true 还是false , 结果都将返  &&  后面的值;

此文同时参考也借鉴了网上的一些结果。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值