Ext2.0 学习

来源:互联网 发布:涤纶网络丝 编辑:程序博客网 时间:2024/06/08 06:49

**namespace: 创建命名空间,近似于java的包定义,防止同名类冲突。

例子:

  1. namespace: function(){
  2.         var a=arguments, o=null, i, j, d, rt;
  3.         for (i=0; i<a.length; ++i) {
  4.             d=a[i].split(".");
  5.             rt = d[0];
  6.             eval('if (typeof ' + rt + ' == "undefined"){' + rt + ' = {};} o = ' + rt + ';');
  7.             for (j=1; j<d.length; ++j) {
  8.                 o[d[j]]=o[d[j]] || {};
  9.                 o=o[d[j]];
  10.             }
  11.         }
  12.     }

其中eval('if (typeof ' + rt + ' == "undefined"){' + rt + ' = {};} o = ' + rt + ';')    中rt代表每一个动态类型,如:

if (typeof Ext == 'undefined'){Ext = {}} o=Ext;

 

将Ext.namespace赋值给Ext.ns简化写法

*******************************************************************************************

原创粉丝点击