Loading
The region of code where a variable can be seen and used.
The set of code locations where a variable is accessible. Block scope limits visibility to the nearest `{}` block; function scope limits it to the enclosing function; global scope makes it visible everywhere.
Determined statically by lexical position in the source (lexical scope) in most modern languages, or by the call stack at runtime (dynamic scope) in a few. Each scope frame holds bindings; closures capture their enclosing scope's bindings even after the outer function returns.