Ext.apply

apply方法的签名为“apply( Object obj, Object config, Object defaults ) : Object”,

第一个参数是要拷贝的目标对象,

第二个参数是拷贝的源对象,

第三个参数是可选的,表示给目标对象提供一个默认值。

可以简单的理解成把第三个参数(如果有的话)及第二个参数中的属性拷贝给第一个参数对象。

Ext源代码如下:

  1. /**  
  2.  * Copies all the properties of config to obj.  
  3.  * @param {Object} obj The receiver of the properties  
  4.  * @param {Object} config The source of the properties  
  5.  * @param {Object} defaults A different object that will also be applied for default values  
  6.  * @return {Object} returns obj  
  7.  * @member Ext apply  
  8.  */   
  9. Ext.apply = function (o, c, defaults){  
  10.     // no "this" reference for friendly out of scope calls   
  11.     if (defaults){  
  12.         Ext.apply(o, defaults);  
  13.     }  
  14.     if (o && c &&  typeof  c ==  'object' ){  
  15.         for ( var  p  in  c){  
  16.             o[p] = c[p];  
  17.         }  
  18.     }  
  19.     return  o;  
  20. };  

另外还有ext.applyif 也是对象克隆,不同的是,克隆的对象并不会覆盖原有属性和方法

具体代码如下:

  1. applyIf :  function (o, c){  
  2.           if (o){  
  3.               for ( var  p  in  c){  
  4.                   if (!Ext.isDefined(o[p])){  
  5.                       o[p] = c[p];  
  6.                   }  
  7.               }  
  8.           }  
  9.           return  o;  
  10.       }, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值