The basics of JavaScript Scope — lexical scoping, closures, and ways to control the context through call(), apply(), and bind().