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