Closures Ex 2
by Shaun Luttin
HTML
<pre>
Values over Time
x = 2
tmp = 3
y = 10
tmp = 4
</pre>
bar becomes a closure - a function that accesses variables outside its immediate lexical scope.
This example differs from the last one, because foo returns an anonymous function, and bar receives that anonymous function from outside of foo's scope.
JavaScript
function foo(x) {
var tmp = 3;
return function (y) {
alert(x + y + (++tmp));
}
}
var bar = foo(2); // bar is now a closure.
bar(10);