EXTJS入门指南:命名空间与函数应用详解

需积分: 1 0 下载量 115 浏览量 更新于2024-07-28 收藏 1.04MB DOC 举报
EXTJS学习笔记是一份针对EXTJS初学者的宝贵资料,主要讲解了EXTJS框架中的一些核心概念和技术。首先,它提到了`Ext.ns()`(或`Ext.namespace()`)函数,这是一个用于创建命名空间的关键工具。在JavaScript中,这个函数类似于C#的命名空间或Java中的包,它实际上是为指定的名字创建一个类结构,如`Ext.ns('buzz.data.utility')`,会在当前作用域下创建一个名为`buzz.data.utility`的类。 文章接下来重点介绍了JavaScript中实例函数与静态函数的区别。实例函数是在对象上下文中定义的,每个实例都有自己的副本;而静态函数属于类本身,不依赖于特定的对象实例。通过例子展示了如何分别定义这两种类型的函数: 1. 使用`Ext.ns('test.cls')`创建一个命名空间,并定义一个静态函数`staticShow`和实例函数`instanceShow`。 2. 实例化`test.cls`并分别调用这两个函数,演示了它们的行为。 然后,文章深入探讨了`Ext.apply()`和`Ext.applyIf()`这两个方法。`apply()`方法用于将源对象的属性复制到目标对象,如果目标对象中已有同名属性会被覆盖;而`applyIf()`则只在目标对象中不存在相应属性时才进行复制,提供了一个更细致的属性合并机制。例如: ```javascript var b1 = { p1: "p1value", p2: "p2value", f1: function() { alert(this.p2) } }; var b2 = new Object(); b2.p2 = "b2value"; Ext.apply(b2, b1); ``` 这段代码展示了如何使用`Ext.apply()`将`b1`的属性添加到`b2`中,包括函数`f1`,使得`b2`具有了`b1`的所有属性。 这份学习笔记为初学者提供了EXTJS的基础知识,包括命名空间的创建、函数类型的区分以及实用的属性复制方法,有助于理解和掌握EXTJS框架的工作原理和编程实践。