How JavaScript Works Behind the Scenes - Scoping and the Scope Chain