(number & number)
是什么意思?我正在尝试阅读用JavaScript编写的某些人的代码,然后使用
if(misc & 0x800) {//...} //0x800 is 2048 when converted to decimal
var misc = 16400; //or some other number which continuously changes
所以这句话就像if(16400 & 2048)
一样
当我console.log()
编辑这两个数字时,我得到了0
。
if语句如何在数字和数字的情况下工作?
答案 0 :(得分:3)
一个&
表示这是bitwise AND
数字是
16400 (10) === 100000000010000 (2)
0x800 (16) === 100000000000 (2)
基于按位运算规则 结果将是:
100000000010000
100000000000
_______________
000000000000000
此类操作通常用于位掩码(wiki link)
答案 1 :(得分:1)
这是逻辑and
运营商。
它首先将数据转换为位和操作。
离。
2 & 3
--> 010 & 011
--> 010
--> 2
答案 2 :(得分:1)
它是JavaScript的BitWise运算符(在此处查看更多信息 - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators)
按位'&'基本上"在每个位位置返回一个,两个操作数的相应位都是1。"请在上面的链接中详细阅读。