Если вкратце, то замыкание - это когда внутри функции создаётся (не вызывается!!!) новая функция. Т.е.
function a () {
function b () {}
}
В данном примере функция b создана внутри a, и поэтому она имеет доступ ко всем переменным функции a. Если хочешь узнать поглубже, то почитай либо на этом сайте, либо по ссылкам, что скинули.