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