javascript中的闭包简单的概念:
外部方法包含内部方法,内部方法可以访问外部方法的局部变量,并且在外部方法结束的时候返回内部方法对象。
因此在代码执行过程中如果在方法作用域外部引用了外部方法对象,那即使外部方法运行结束,外部方法对象也不会被GC回收。
因为外部对象返回的内部对象还持有着该外部对象的变量。
代码如下:
function Outer(){
var i=0;
function Inner(){
alert(++i);
}
return Inner;
}
var inner = Outer();
inner();
var quo = function (status) {
return {
get_status: function ( ) {
return status;
}
};
};
// Make an instance of quo.
var myQuo = quo("amazed");
document.writeln(myQuo.get_status( ));
Java闭包的概念:
http://blog.csdn.net/qq_23589445/article/details/49560907