闭包是 JavaScript 一个非常重要的特性,这意味着当前作用域总是能够访问外部作用域中的变量。
本人简单的理解: 闭包就是一个访问父函数局部变量的函数;
例子如下:
// 来源:http://www.zhihu.com/question/31383111
//最简单:一个父函数
function superFn(){
// 局部变量
var _super_a = 1;
var subFn = function(){
// _super_a++;
alert('_super_a: ' + _super_a);
}
return subFn;
}
// superFn() 得到的是subFn,superFn()()等于subFn()
superFn()();
作者:萧强