Debugging to Understand JavaScript Variable Scoping Rules