I must remember what Crockford says in Appendix A: Awful Parts:
The + operator can add or concatenate. Which one is does depends on the types of the parameters. If either operand is an empty string, it produces the other operand converted to a string. If both operands are numbers, it produces the sum. Otherwise, it converts both operands to strings and concatenates them. This complicated behaviour is a common source of bugs. If you intend + to add, make sure that both operands are numbers.