`

Ext.namespace解析

阅读更多
对于这个函数,我一直不太清楚,今天查了查官方的解释,豁然开朗。

对于java中的包,我们都认为主要是为了类名重复而引入的一种管理类的方法。同样,因为js定义的类太多,难免会定义重复的类名。特别是在今天这个需要共同协作完成项目的世界里。Ext.namespace正是为此而生。

Ext.namespace('com.company');
就是定义了一个com.company的包。

com.company.ClassA = function(){};就是定义了com.company包下面的一个Class。你一定会问,既然定义了包,为什么还要写包的前缀com.company?我直接写com.company.ClassA = function(){}不行吗?对,一开始我也有这样的疑惑,com.company.ClassA不就是一个变量名称吗?哪儿来的包。后来经实践,javascript的变量名称是不准包括'.'的。因此,直接写com.company.ClassA = function(){};在语法上是不正确的。

现在想起来Ext在namespace的解决方法了。查看ext的官方解释,如果我们不用Ext.namespace的话,创建命名空间应该这样。

if (!App) App = {};
if (!App.form) App.form = {};
if (!App.data) App.data = {};

而 Ext.namespace('App', 'App.form', 'App.data');
则跟上面3句话的作用是一样的。

可以看出,这个包其本质上是一个对象,一个window的变量。也就是说,我们的包是一个分层次的对象。如com.company,应该解释成com对象的一个属性company。如果定义这个包下面的类,则应该把这个类添加到com对象的属性company的属性里面。

到此,ext的namespace的实现机制基本上就出来了。尽管实现包的方法很牵强,但目前可能是一个比较好的解决方案了。
分享到:
评论

相关推荐

    Ext深入浅出 数据传输

    13.2 Ext Framework架构解析........................ 342 13.2.1 主要的第三方包...................... 342 13.2.2 后台类关系图.......................... 342 13.2.3 前台组件关系图...................... 344...

    JAVA_API1.6文档(中文)

    javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream....

    [Java参考文档].JDK_API 1.6

    javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream....

    [Java参考文档]

    javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream....

    JavaAPI中文chm文档 part2

    javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream....

    java api最新7.0

    javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util ...

    JavaAPI1.6中文chm文档 part1

    javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream....

    Java 1.6 API 中文 New

    javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util ...

    易语言-PHP调用易语言2

    4.tlh,tli文件:是vc++编译器解析tlb文件生成的标准c++文件.因为tlb并不是C++标准的东东,有必要把它们翻译成标准的C++类型,使得C++开发者可以使用.tlh相当于类型申明(头文件),tli相当于定义实现(CPP文件,inline) 2....

    api-doc:用PHP编写的功能强大的api文档管理系统

    解析固定语法格式的txt生成一个Trie树的数据结构。 执行txt文件中定义的变量和函数处理Trie树。 转换Trie树为html。 需求 PHP:> = 5.3 ext-yaf:> = 2.3.3 安装 composer create-project ares333/api-doc ...

Global site tag (gtag.js) - Google Analytics