16
Apr

closures in javascripts

A closure is an “Inner function” that has access to Outer function, it’s parameters / variables along with access to “Global variables”.

eg.
myGlobalVar = 99;
function outerFunction()
{
var localVarOfOuterFunction = 1;

return function()
{
var myLocalVar=1;
return (myGlobalVar+localVarOfOuterFunction+myLocalVar);
}
}

var x = outerFunction()
document.write(x())

Output: 101

Another classical example of Closures, is via Anonymous function:

var countee = (function(){
var count = 0;
return function(){ count += 1; return count}
})();

document.write(countee());