closures |
Ketan Jetty
enthusiasm for technology
|
||
functions
|
|||
|
closures A closure is formed by returning a reference to a function (inner function) that was created within an execution context of another function.
Closure example
<script type="text/javascript">
function myClosure(arg1, arg2){
var myLocalVar = 3;
function innerFn(innerArg){
return arg1 + arg2 + myLocalVar + innerArg;
}
//return a reference to the inner function defined as - innerFn
return innerFn;
}
function runMe() {
var myGlobalVar1 = myClosure(1, 2);
alert("creating myClosure(1, 2)");
alert(myGlobalVar1(4)); //returns 10 (1+2+3+4)
alert(myGlobalVar1(5)); //returns 11 (1+2+3+5)
alert(myGlobalVar1(6)); //returns 12 (1+2+3+6)
var myGlobalVar2 = myClosure(11, 22);
alert("creating myClosure(11, 22)");
alert(myGlobalVar2(4)); //returns 40 (11+22+3+4)
alert(myGlobalVar2(5)); //returns 41 (11+22+3+5)
alert(myGlobalVar2(6)); //returns 42 (11+22+3+6)
}
</script>
|
|
||
| Ketan Jetty @ 2010. All Rights Reserved. | |||