What are the three main types of functions and when would you use each type?
How can a function modify variables outside its scope?
How can you dynamically alter the number of arguments to a function?
What property allows a function to access its own scope?
Create a function that takes a data object and a function as parameters and invokes the function using the data object.
Answers are provided in the appendix.