JavaScript 中的闭包

一个闭包,简单地说,就是一个函数以及其定义时的上下文环境。

用代码来解释会更直观一点:

1
2
3
4
5
6
7
8
9
function outerFn() {
    var name = "outer";
    function innerFn() {
        alert(name);
    }
    return innerFn;
}
var myFunc = outerFn();
myFunc();   // output "outer"

这样,myFunc 便是一个闭包,其包括了函数 innerFn() 和其上下文环境 name
继续阅读“JavaScript 中的闭包”