EXT学习之基础框架-apply
来源:互联网 发布:linux创建新用户和组 编辑:程序博客网 时间:2024/06/13 00:16
1、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"。
- EXT学习之基础框架-apply
- 前端框架Ext学习之框架搭建
- Gwt-Ext学习笔记之基础篇
- Ext框架基础
- 2、EXT框架基础
- Ext.apply()
- Ext.apply()
- scala学习之apply
- 前台框架之-ext
- 框架基础学习之--mybatis
- Ajax框架之EXT核心技术学习笔记(一)
- Ext框架学习 (三) Ext.Ajax类
- EXT框架之Ext.tree.TreePanel
- R语言学习之apply
- Scala学习笔记之`apply`
- Ext.apply() 的使用
- Ext.apply详解
- Ext.apply 详解
- Struts2学习
- poj 1084 Square Destroyer dlx解重复覆盖
- Google Gson 使用简介
- leetcode044:Wildcard Matching
- angularjs中的$degist,$watch,$apply
- EXT学习之基础框架-apply
- PHP扩展开发-Hello World
- 块状数组(hdu3207 Highway)
- ArcGIS 在VS2010中 ESRI.ArcGIS.SOESupport.dll 无法正常加载的处理
- Redis的冗余方案(keepalived, HAProxy, Redis Sentinel)
- Ubuntu配置Apache+PHP+MySQL
- atitit.浏览器web gui操作类库 和 操作chrome浏览器的类库使用总结
- MFC学习(12)Access数据库多表联合查询
- Cuda编程总结--cuda c programming Guide