我正在深入理解JavaScript闭包,目前的进展已经比较顺利了。也就是说,闭包是函数的局部变量,在函数返回后仍然保持活动状态;又或者说闭包是未被释放的堆栈帧。
我开始理解这个概念,但是越理解越想知道为什么我们要使用它们。
像这样的例子让我理解了概念,但也让我问自己,有没有更简单的方法来做到这一点!
function sayHello(name) {
var text = 'Hello ' + name;
var sayAlert = function() { alert(text); }
sayAlert();
}
sayHello('Gath');
我在想为什么函数退出后,我必须让局部变量保持活动状态?
哪里可以找到使用闭包实现的解决方案示例,而且除了闭包没有其他方法可行?