I want to cover a basic but essential part of what you might expect in an introduction to JavaScript. This post is only Part I of fuller explanation of JavaScript function scoping, "lexical scoping," and Javascript's hoisting behavior.
Although it may seem tedious to review fundamental elements of JavaScript, these are the building blocks for a comprehensive understanding of the language's functional style, which I will get to in Parts 2 and 3 of this introduction.