Un closure es cuando una función es capaz de recordar y acceder a un lexical scope, incluso cuando la función es ejecutada por fuera del lexical scope.
Una clausura o closure es una función que guarda referencias del estado adyacente (ámbito léxico). En otras palabras, una clausura permite acceder al ámbito de una función exterior desde una función interior
function iniciar() {
var nombre = "Mozilla"; // La variable nombre es una variable local creada por iniciar.
function mostrarNombre() { // La función mostrarNombre es una función interna, una clausura.
alert(nombre); // Usa una variable declarada en la función externa.
}
mostrarNombre();
}
iniciar();