The "+" is also used as a concatenate operator. So if JS thinks you have a string, it will concatenate rather than add.
Here's what I get in the help on convertision to numbers:
<hr>As JScript is a loosely-typed language, variables in JScript technically have no fixed type. Instead, they have a type equivalent to the type of the value they contain. It is possible, under some circumstances, to force the automatic conversion (or coercion) of a variable or a piece of data into a different type. Numbers can easily be included in strings, but strings cannot be included directly in numbers, so explicit conversion functions, parseInt() and parseFloat(), are provided. <hr>