apply的用法:
Ext中apply及applyIf方法的应用
apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。
不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。
apply方法的签名为“apply( Object obj, Object config, Object defaults ) : Object”,
该方法包含三个参数,第一个参数是要拷贝的目标对象,第二个参数是拷贝的源对象,第三个参数是可选的,表示给目标对象提供一个默认值。可以简单的理解成把第三个参数(如果有的话)及第二个参数中的属性拷贝给第一个参数对象。看下面的代码:
var b1={ p1:"p1 value", p2:"p2 value", f1:function(){alert(this.p2)}};
var b2=new Object();
b2.p2="b2 value";
Ext.apply(b2,b1);b2.f1();
在上面的代码中,Ext.apply(b2,b1)这一语句把b1的属性拷贝到了b2对象中,因此调用b2的f1方法可以弹出"p2 value"的提示信息。尽管b2对象已经包含了p2属性值,但拷贝后该属性值会被覆盖。可以在调用apply方法时,在第三个参数中指定拷贝属性的默认 值,比如下面的代码:
Ext.apply(b2,b1,{p3:"p3 value"});
alert(b2.p3);
这样会使得b2中包含一个p3的属性,值为"p3 value"。
applyIf方法的功能跟apply一样,只是不会拷贝那些在目标对象及源对象都存在的属性。比如把前面演示apply方法的代码改成applyIf,
如下:
Ext.applyIf(b2,b1);b2.f1();
由于b2中已经存在了p2属性,因此,b2.f1()方法中引用this.p2的时候,得到的是"b2 value",而不是在b1中定义的"p2 value"。
【转载】:http://www.cnblogs.com/yin-jingyu/archive/2011/07/30/2122176.html
相关推荐
#### 一、Ext.apply详解 `Ext.apply`是Ext JS框架中的一个核心方法,主要用于对象的属性合并。此方法能够将一个或多个对象的属性复制到目标对象中,从而实现对象之间的扩展和覆盖。 ##### 1. 基本用法 `Ext.apply...
在"Ext.js核心函数详解.pdf"中,我们看到了一些关键的Ext.js函数,这些函数对于理解和使用这个框架至关重要。下面是对这些函数的详细说明: 1. `Ext.apply(Object obj, Object config, Object defaults)`: 这个函数...
EXT核心API详解 1、Ext类 ………………………………… 2 2、Array类 …………………………… 4 3、Number类 …………………………… 4 4、String类 …………………………… 4 5、Date类 ……………………………… 5 ...
1. `Ext.apply(Object obj, Object config, Object defaults )`: 这个函数用于将`config`对象中的所有属性复制到`obj`对象中。如果提供了`defaults`,则先将`defaults`中的属性复制到`obj`,然后再复制`config`的...
【Ext.Window属性详解】 在Ext JS中,`Ext.Panel`是一个强大的组件,它可以用来创建各种复杂的用户界面。当Panel被用作窗口时,它通常会继承或包含`Ext.window.Window`的一些属性。以下是对`Ext.Panel` API中与`...
EXT 核心 API 详解(四) - Ext.DomQuery/DomHelper/Template EXT JS 是一个专注于构建前端用户界面的JavaScript框架,它独立于后台技术,主要利用Ajax技术实现丰富的交互效果。本文将深入探讨EXT JS的核心API,特别...
Ext对象还提供了一些全局函数,如Ext.util.Format用于字符串格式化,Ext.apply用于对象属性的复制,以及Ext.emptyFn作为空函数的引用等。理解Ext类的基本用法对于后续使用其他EXT组件至关重要。 "EXT核心API详解(二...
3. **Ext.applyIf()**: 类似于`Ext.apply()`,但只会将`config`中在`obj`中不存在的属性复制过去,避免覆盖已有的属性。 4. **Ext.addBehaviors()**: 这个方法允许你基于CSS选择器为页面元素添加事件监听器。例如,...
1. **Ext 类**:这是EXTJS的基础类,提供了许多实用的静态方法,如Ext.apply()用于对象属性的合并,Ext.id()用于生成唯一的ID。 2. **Array 类**:EXTJS扩展了JavaScript的数组对象,添加了一些实用的方法,如Ext....
文章最后提到了Ext类的一些常用方法,如addBehaviors、apply、applyIf、decode、destroy、each、encode、escapeRe、extend、fly、get、getBody、getCmp等。这些方法提供了丰富的功能,如事件绑定、对象拷贝、JSON...
12.1.1 Ext.Ajax.request方法详解 12.1.2 Ext.Ajax.request操作示例 12.1.3 Ext.Ajax.request提交XML数据 12.2 Ext.Updater基础 12.2.1 Ext.Updater.update方法 12.2.2 Ext.Updater.update操作示例 12.3 利用...
EXT是一个JavaScript库,主要用于构建富客户端应用程序,特别是Web应用程序。EXT的核心API提供了丰富的组件和功能,使得开发者能够方便地创建用户界面。以下是一些EXT核心API的重要知识点: 1. **Ext 类**: Ext类是...