Closures Ex 3
by Shaun Luttin
HTML
Values over Time
<pre>
age = 2
x = 2
tmp = 3
y = 10
alert = x + y + tmp = 15
x.memb = 1
alert = x.memb = 1
</pre>
JavaScript
function foo(x) {
var tmp = 3;
return function (y) {
alert(x + y + tmp);
x.memb = x.memb ? x.memb + 1 : 1;
alert(x.memb);
}
}
var age = new Number(2); // an object not a literal, thus it is referenced not copied
var bar = foo(age); // bar is now a closure referencing age.
bar(10);
bar(10);