A closure is function that closes over its environment. It has access to the state of the environment, but the variables inside the closure are private.
Example:
(function (){
var scopeVar="Hello";
(function closure(){
var closureVar=" World";
console.log(scopeVar+closureVar);
})()
})();
scopeVar
is accessible inside the outer and the inner function, but closureVar
is only accessible inside the inner function.