In writing a javascript function to evaluate a multi-variate condition, I came across what seems like a parser error in Javascript. Please let me know if I'm forgetting something, or if this is appropriate behavior.

In my function, I'm returning the `AND` result of several variables, like so:

```
return
// a comment, for kicks
a1 && a2
&&
b1 && b2
&&
// another comment
c1 && c2
&&
d1 && d2
;

```

However, even when all of those variables have an explicit value of `true`, the function is returning `undefined` instead of the expected `true`.

I've tried several variations of returning this expression, and I've found:

1. multiline expression -- **fails**
2. expression on single line -- **works**
3. wrapping expression in paretheses -- **works**
4. setting multiline expression to *variable*, then returning *variable* -- **works**

See working examples: <http://jsfiddle.net/drzaus/38DgX/>

Can anybody explain why this happens?