It uses a prototype model to support specialization. If a function call can't be
resolved on an object, function lookup walks up the object's prototype chain.
Jim = {
"Name":"Fawcett",
"Job":"Instructor,
...
}
When a JavaScript function is called its context (a JavaScript object) is loaded into
an Execution Stack. When an event fires the context of its event handler function is
enqueued in an Event Message Queue. Handlers don't execute until all functions
have completed. Then, its context is loaded into the Execution Stack for processing.