ext.apply属性复制

本文详细介绍了Ext.apply和Ext.applyIf两个方法的区别及使用场景。Ext.apply用于复制对象属性,并可以覆盖原有属性;而Ext.applyIf仅当目标对象中不存在相应属性时才进行复制。此外,还展示了如何利用这两个方法进行属性复制的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复制属性,覆盖原有同名属性,ext.applyif不覆盖原有同名属性

var a={x1:100,x2:200,x3:300};

var b={x1:150,x2:250};

Ext.applyif(a,b);  //无用,没有多余属性复制

Ext.apply(a,b);  // a={x1:150,x2:250,x3:300},b不变

//////////////////////

var a={x1:100,x2:200,x3:300};

var b={x1:150,x2:250,y1:200};

Ext.applyif(a,b);  // a={x1:100,x2:200,x3:300,y1:200},b不变

Ext.apply(a,b);  // a={x1:150,x2:250,x3:300,y1:200},b不变



Ext.apply还可以授受三个参数

Ext.apply(a,b,c);//等价于 Ext.applyIf(a,c);Ext.apply(a.b);即先附加c的属性,再拷贝b的属性,注意先applyif,再apply


附上牛叉的源码:

Ext.apply: Ext.apply = function(C, D, B){
                if (B) {
                    Ext.apply(C, B);
                }
                if (C && D && typeof D == "object") {
                    for (var A in D) {
                        C[A] = D[A];
                    }
                }
                return C;
            };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值