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