Scope in JavaScript is sometimes one of the hardest things to grasp.