1. 程式人生 > >java程序員理解js中的閉包

java程序員理解js中的閉包

log 內部 asc ava scrip java程序員 brush script turn

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變量

  

java程序員理解js中的閉包