Not using radix when converting strings to integers:
Misunderstanding floating point arithmetic (applies to all languages, not just JS):
Calculating currency with floating points may lead to rounding errors, currency values should be treated as integers (multiplied with 100) before processing.
But it gets weirder, because while "7" and "cat" are both strings, not all strings are treated the same:
Not to mention that (as @Tatu wrote):