A observable change that occurs outside a function’s scope. Does not exist within a pure functional programming language. Invisible inputs to or outputs from functions.

  • Closure is all internal, no access to outside closure