I wanted to share another technique for determining if a number is odd/even in JavaScript - or any other programming language.  The common solution to this problem is to use the modulus (%) operator:
With the modulus operator it's as simple as:
var isOdd = number % 2;
var isEven = !(number % 2);
However, you can achieve the same result by using the bitwise operators and ANDing the number with 1.
var isOdd = number & 1;
var isEven = !(number & 1);
Both produce the same result, but the bitwise approach will be faster if you care about micro-optimisations.
How does this work?
When you AND two numbers together the operation returns 1 if the matching bits from both operands are 1.
So let's take a simple example, is the decimal number 10 odd?
First convert the decimal number to binary: 0000 1010.  Now let's AND that number with decimal 1, which is 0000 0001 when converted to binary.
     0000 1010   // decimal 10
AND  0000 0001   // decimal 1
  =  0000 0000
If the AND operation produces 0 the number is even - as in the previous example.
Let's look at another example using an odd decimal number:
     0000 1011   // decimal 11
AND  0000 0001   // decimal 1
  =  0000 0001
If the AND operation produces 1 the number is odd - as in the previous example.
Conclusion
Admittedly this isn't revolutionary, but it's good to understand how to use Bitwise operators and what type of problems they can solve.