&和&&的区别

1、都可用作「逻辑与运算符」

&和&&用作「逻辑与运算符」时,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。在JS中,一共有这几种情况被认定为假:fase,undefined,'',null,0与神奇的NaN。

注意: &&具有短路的功能,而&不具备短路功能 。这里我给出个例子解释一下

var a = 1;
console.log(false & a++); // 0
//在这里在输出一下 a
console.log(a) // a=2

var b = 1;
console.log(false & b++); // 0
//在这里在输出一下 b
console.log(b) // b=1

不知道大家看明白没 , 这里说到的「&& 具有 短路功能」指的就是 当第一个值为false时,&&的表达式直接得出结论为false,不继续执行后面的代码;而&在第一个值为false时,还会继续执行后面的操作,然后才能得到结果。

2、&可用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。

怕大家不懂(我看了别人写的比较牛逼的博客 也有点懵 哈哈) 我在下面举出具体简单易懂例子 方便大家理解

//将两个表达式的值按二进制位展开,对应的位(bit)按值进行“与”运算,结果保留在该位上
//这里我就随便选2个简单的数字吧  49 、 83
49 =>  0110001  //位数不够,左侧0补位
83 =>  1010011
得 =>  0010001 //转10进制 17
即 console.log(49 & 83) // 17

自认为比较好理解,希望对大家有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值