Ext中namespace的作用

来源:互联网 发布:淘宝首页psd模板 编辑:程序博客网 时间:2024/05/18 00:36
Ext中在每一个页面中添加一个namespace呢,就像下面的代码:
 
// create namespace  Ext.namespace('myNameSpace');     // create application  myNameSpace.app = function() {      // do NOT access DOM from here; elements don't exist yet         // private variables         // private functions         // public space      return {          // public properties, e.g. strings to translate             // public methods          init: function() {              alert('Application successfully initialized');          }      };  }(); // end of app  


 

作用呢就是用来封装一个global范围对象的属性和方法,以避免和其它的对象的属性和方法发生冲突,定义在return块中的方法和属性是公共的,外界可以直接访问,而其余的属性则不允许外界访问,通过这种方式,Ext较好的实现了在JavaScript中定义属性的public/private 问题。比较一下我在另外一篇blog中的js对象的private/public/protected的定义,就可以看出这种方法的好处:清晰。
  下面是Ext.nameSpace的API:
 
namespace( String namespace1, String namespace2, String etc ) : void  Creates namespaces to be used for scoping variables and classes so that they are not global. Usage: Ext.namespace('C...  Creates namespaces to be used for scoping variables and classes so that they are not global. Usage:    Ext.namespace('Company', 'Company.data');  Company.Widget = function() { ... }  Company.data.CustomStore = function(config) { ... }    Parameters:        * namespace1 : String      * namespace2 : String      * etc : String    Returns:        * void  


 

0 0