Замыкание — это функция первого класса, которая обращается к (закрывает) переменные из области, в которой она была определена. Если закрытие все еще существует после того, как его определяющая область действия заканчивается, переменные, которые оно закрывает, также продолжат существовать.