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"
分享到:
相关推荐
ext js 4.1apply && override
EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT中文EXT...
ext 的一些常用方法 ext 的一些常用方法 ext 的一些常用方法
EXT dojochina Ext类静态方法.rar EXT dojochina Ext类静态方法.rar
EXT 中文手册EXT 中文手册EXT 中文手册
Ext 图标大全及应用.rar Ext 图标大全及应用.rar Ext 图标大全及应用.rar
Ext简介及应用案例 Ext简介及应用案例
ext-grid+json简单应用,可以直接套用... 可以跑的工程.sql脚本...
Ext中Ajax的应用,包括JSON,XML,Update管理器、EXT调用Dwr等。
本文详细介绍了在Ext中如何获取store的数据,对ext语法有一个比较详细的介绍,供新手阅读
Ext中文API Ext3.2中文API ExtAPI Ext中文Ext中文API Ext3.2中文API ExtAPI Ext中文Ext中文API Ext3.2中文API ExtAPI Ext中文
Ext、Ext4中各个组件、属性、方法详解,一个不漏;Ext学习入门及参考最好的资料
扩展Ext中的组件 扩展与插件之间的区别 扩展Ext的新手教程 Ext的类继承 从源码生成Ext 基础用法: DomQuery基础 Ext中的事件 简述模板 模板(Templates)的函数 教你创建Ext UI控件 事件的处理 Ext中的继承 Ext...
EXT2.2源码及中文手册,中文手册介绍了如何应用ext
ext中文教程 ext API ext中文教程 ext API
Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文
ExtJs树形结构 ext的简单应用ExtJs树形结构 ext的简单应用ExtJs树形结构 ext的简单应用ExtJs树形结构 ext的简单应用ExtJs树形结构 ext的简单应用
EXT中文手册 中文API 中文简明教程 Ext Core手册
EXT中文手册,如何使用EXT架构,清楚明白讲解,EXT的具体应用
Ext3_2综合应用的例子