I'm a web developer, but lots of folks are looking for slightly more advanced skills and understanding closures seems to be at the forefront of this.
I get the whole "execution context creating a reference to a variable that doesnt ever get destroyed" thing, but really, is this some sort of private or static variable implementation in JavaScript?
Answer
They can be good for lots of things, for example, visibility (like private members in traditional OO).
var count = function(num) {
return function(add) {
add = add || 1;
num += add;
return num;
}
}
My count()
can be seeded with a number. When I assign a variable to the return, I can call it with an optional number to add to the internal num
(an argument originally, but still part of the scope of the returned function).
This is a pretty good overview.
No comments:
Post a Comment