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