js 逻辑与&&(短路与)和位与&(长路与)

js 逻辑与(短路与)和位与(长路与)

在JavaScript中,&&和&是两个不同的操作符。

  1. (逻辑与)(&&):这是最常见的逻辑与操作符,也被称为逻辑与短路操作符。它执行布尔"与"操作,但如果第一个操作数是false,则不会计算第二个操作数。

示例代码:

var a = 5;
var b = 10;
var c = 0;
 
console.log((a < 10) && (b > a)); // 输出:true
console.log((a > 10) && (b > a)); // 输出:false
console.log((c = 0) && (b > a));  // 输出:0,因为(c = 0)计算后是false,所以不会计算(b > a)
  1. (位与)(&):这是未与操作符,也被称为位与长路操作符。它执行布尔"与"操作,不同之处在于它不遵守短路行为,无论第一个操作数的值如何,都会计算第二个操作数。

示例代码:

var a = 5;
var b = 10;
var c = 0;
 
console.log((a < 10) & (b > a)); // 输出:true
console.log((a > 10) & (b > a)); // 输出:false
console.log((c = 0) & (b > a));  // 输出:0,即使(c = 0)是false,它仍然计算(b > a)并返回结果

总结:逻辑与 (&&) 适用于需要根据第一个操作数的值决定是否执行第二个操作数的情况,而(位与) (&) 则不考虑第一个操作数的值,总是执行两个操作数。
如何快速记下来:
&&逻辑与,如果有false就会停下来,所以叫短路与。
&位与:不管是否是false都会执行,不会短路全部执行,所以叫长路与。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值