java程序员理解js中的闭包
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变量