Nov 5, 2013 -
javascript
No Comments


Ext.apply详解和实际应用
首先看一下Ext.apply的源码:
Ext.apply = function(o, c, defaults){ // no "this" reference for friendly out of scope calls if(defaults){ Ext.apply(o, defaults); } if(o && c && typeof c == 'object'){ for(var p in c){ o[p] = c[p]; } } return o; };
这是非常经典的对象浅复制的函数。第一个参数o是目标对象,第二个参数c是源对象,第三个是可选参数defaults,表示给目标对象o的一个默认值。整个函数就是会把源对象c和可选参数defaults的所有属性一股脑儿的复制给目标对象c。(如果遇到对象o已有的属性则会覆盖。所以会先把defaults的所有属性都复制给o,然后再把c所有的属性复制给0。)
是不是有点绕,还是来看例子简单明了。
Read more »