I am looking through the source of a library I'm working with, and I found something I haven't seen before.
$(item).each(function(child) {
        oddEven = (i & 1);
        targetNode.append(jasper_build_product(this,oddEven));
        i++;
    });
Notice the oddEven = (i & 1);. What does the (i & 1) part do? I'm particularly curious about the ampersand.
 
    