Ext.namespace

Ext.namespace('myNameSpace');

myNameSpace.app=function(){
 // do NOT access DOM from here; elements don't exist yet  
   
    // private variables  
    var num1=0;
   
    var num2=0;


    // private functions   只能被app對象的其它方法使用,屬於私有成員,可以被其它的私有方法,公有方法,對象方法調用
    function fun2(){
     alert("fun2");
    }
   


    //public functions 此處定義的是app對象的一個方法,屬於public作用域,只有在創建了app對象後才能使用
    this.fun1=function(){
     alert('Application successfully initialized');  
    }
   

   
    // public space   此部分中定義的方法屬於公共調用方法,也就是類似JAVA中的靜態方法,可以在不創建app對象

//時直接引用,所以他不可以調用對象方法,因爲對象還不存在,但是可以調用私有方法
    return {  
        // public properties, e.g. strings to translate  
   
        // public methods  
        init: function() {  
          //this.fun1(); not obj attribute function
          fun2();
        }  
    };  
 
}
 

以下是調用例子:

正確的調用:

var app=new myNameSpace.app();//先創建對象


app.init();

app.fun1();//ERROR

錯誤的調用:

//不創建對象直接引用

myNameSpace.app().init();//RIGHT

myNameSpace.app().fun1();//ERROR

myNameSpace.app().fun2();//ERROR

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章