Closures are created whenever a variable that is defined outside the current scope is accessed from within some inner scope.