Closure (JavaScript)

A closure is a function that remembers the variables from the scope where it was created, even after that outer function has finished running.