2016-06-30 95 views
-2

我正在查看我正在使用的图书馆的来源,并找到了以前没有看到的内容。JavaScript中做什么(0&1)?

$(item).each(function(child) { 
     oddEven = (i & 1); 
     targetNode.append(jasper_build_product(this,oddEven)); 
     i++; 
    }); 

注意oddEven = (i & 1);(i & 1)部分是做什么的?我特别好奇这个符号。

+0

其@ AD7six没有重复,IMHO –

+0

:[按位与(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise_AND) – Alnitak

+0

对于参考位与 – Rajesh

回答

2

&操作是按位AND,并且更具体的表达值xx & 1返回至少显著位(LSB)。

由于数字的内部表示是基数2,LSB为1表示奇数值,0表示偶数值。

+0

技术性较差:'0b0001&0b0001'产生1('0b0001'是1的二进制表示形式),'0b0001&0b0010'产生0('0b0010'是2的二进制表示形式) – ftor

+0

@ LUH3417我不确定我同意这是“较少技术”:p – Alnitak

+0

好的,同意 - 这只是一个复杂问题的不同表示 – ftor