在这篇文章中http://howtonode.org/why-use-closure给出一个例子:为什么在这种简单的情况下使用闭包?
function greeter(name, age) {
var message = name + ", who is " + age + " years old, says hi!";
return function greet() {
console.log(message);
};
}
// Generate the closure
var bobGreeter = greeter("Bob", 47);
// Use the closure
bobGreeter();
它为什么会比
function greeter(name, age) {
var message = name + ", who is " + age + " years old, says hi!";
console.log(message);
}
greeter("Bob", 47);
这更短,显然做同样的事情更值得?或者它不?
更新2:会不会是有用某种程度上这种情况Solving ugly syntax for getter in js
我不会陷入具体的例子。他们正试图使其易于消化。想象一下,如果你想跟踪更复杂的状态。那时它变得真正有用。 – ChaosPandion 2012-03-17 20:23:12
这只是一个人推翻封闭的例子。完全没用。 – 2012-03-17 20:23:21
:)是的,然后有人可以给一个类似,但更真实的世界的例子 – user310291 2012-03-17 20:26:08