首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Ext3语法札记

2013-07-01 
Ext3语法笔记1.apply 与applyIf? ? ?两者都是用于copy对象属性? ? ?Ext.apply(trgObj, sourceObj, [optObj

Ext3语法笔记

1.apply 与applyIf

? ? ?两者都是用于copy对象属性

? ? ?Ext.apply(trgObj, sourceObj, [optObj]);?

? ? ?Ext.applyIf(trgObj, sourceObj, [optObj]);

? ? ?trgObj,目标对象,属性要copy到它;sourceObj,源对象, 用它的属性来copy,optObj可选,目标对象的默认值,可简单认为将optObj与sourceObj的属性都给trgObj。

?

var a = {

? ? ?p1: 'p1_a',

? ? ?p2: 'p2_a'

};

?

var b = {

? ? ?p1: 'p1_b',

? ? ?p2: 'p2_b',

? ? ?p3: 'p3_b'

};

?

?? 1) apply 示例:

Ext.apply(a,b); ? ? //a的结果:{ p1="p1_b", p2="p2_b", p3="p3_b"}

Ext.apply(a,b,{p1:'a'}); ? ? //a的结果:{?p1="p1_b",?p2="p2_b",?p3="p3_b"}

Ext.apply(a,b,{p:'default'}); ? ? //a的结果:{p="default"?p1="p1_b",?p2="p2_b",?p3="p3_b"}

?

? ?2) applyIf示例

Ext.applyIf(a,b); ? ? //a的结果:{?p1="p1_a", p2="p2_a", p3="p3_b"}

Ext.applyIf(a,b,{p1:'a'}); ? ? //a的结果:?{p1="p1_a",?p2="p2_a",?p3="p3_b"?}

Ext.applyIf(a,b,{p:'default'}); ? ? //a的结果:{p1="p1_a",?p2="p2_a",?p3="p3_b"?}

?

总结不同之处:apply会覆盖目标对象中已有的属性,applyIf则不会覆盖目标对象中已有的属性,而且对于applyIf第三个参数也不起作用。

?

热点排行