1.闭包概念:
就是函数内部通过某种方式访问一个函数内部的局部变量
再次理解:
闭包产生原因:
1.内部函数引用了外部函数的变量
作用:延长局部变量的生命周期
让函数外部可以调用到函数内部的数据
利用此可以进行对内部数据进行封装操作
封装自定义模块
产生时间:
外部函数被定义的执行完后产生的闭包
死亡:
嵌套的内部函数变成了垃圾回收对象的时候
2.Java中的类似操作
public class Demo{
private static String a;
public static String getA(){
return a;
}
}
Demo demo=new Demo();
//在这里需要访问demo中的a属性怎么办?
demo.a;//会报错
demo.getA();//可以
3。javaScript中的操作
function Demo(){
var a=10;
function getA(){
return a;
}
return getA;
}
//我需要访问a这个变量怎么办??
alert(a);//报错
alert(Demo().getA());//结果10
看上面两个例子,其实就是差不多可以理解闭包啦,相当于说Java获取类内部的私有的static变量