http://oreilly.com/catalog/9780596517748/ [by crockford]
* All function parameters are optional -- No function overloading, but no need
* Constructors declare instance level variables -- They aren't private
- Functions are first-class objects.
- Methods are just functions attached to objects.
- You can add methods to classes at any time (even after instances have been created).
- Individual objects can have their own methods.
- ``Class constructors’’ are just functions.
- Functions, being objects, can have their own properties.
- You can call functions with fewer (or more) arguments than the function is declared to take.
- If no value is passed for a function argument, it gets the value undefined.