# Logical XOR in JavaScript

*23 March 2007*

*Read this in less than 1 minute.*

Of course there wouldn’t be an XOR function in JavaScript when I needed one. So I googled around and found an implementation at How To Create. But it only took two arguments. So I rolled my own supporting a variable number of arguments. In my personal stuff, I’ve put it into a Math library under the YAHOO namespace, and you can decide if you want to do that on your own.

```
function xor()
{
var b = false;
for( var j = 0; j < arguments.length; j++ )
{
if( arguments[ j ] && !b ) b = true;
else if( arguments[ j ] && b ) return false;
}
return b;
};
```

Usage:

```
xor( false, true ); // true
xor( true, true ); // false
xor( false, false, true, true, true, false, true, false ); // false
xor( false, false, false, true, false, false, false, false ); // true
```