inner functions and closures
functions as object constructors
functions as methods
An indefinite number of parameters can be passed to a function. The function can both access them through formal parameters and the local arguments object.
array and object literals