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