Я не понимаю, почему ответы здесь настолько сложны.
Вот замыкание:
var a = 42;
function b() { return a; }
Да. Вы, вероятно, используете это много раз в день.
Нет причин полагать, что закрытие - это сложный хакер для решения конкретных проблем. Нет, закрытие - это просто использование переменной, которая исходит из более высокой области с точки зрения того, где была объявлена функция (не запускается).
Теперь, что она позволяет вам делать может быть более впечатляющим, см. другие ответы.
blockquote>