Ext.onReady(function(){ /* * Ext.apply(src,apply) 和 Ext.applyIf(src,apply) 两个方法的使用和区别比较 */ //Ext.apply(src,apply)方法用于扩展和修改原有对象的属性或方法 //定义对象src var src = {name:"tom",age:22}; //定义对象apply var apply= {sex:"男",age:33,name:"jack",sal:10000}; //使用Ext.apply方法对src对象进行属性扩展 或方法扩展 Ext.apply(src,apply); // //查看src多有的属性和属性值 for(var attr in src ){ document.write(attr +"--"+src[attr]) document.write("<br>") } //结果如下 //name--jack //age--33 //sex--男 //sal--10000 //从源代码和测试结果可以看出: //用apply对象中的属性和src对象中属性进行逐个比较,如果在src中不存在该属性就赋值复制到src中,如果有相同属性,就覆盖原有属性的值 //Ext.apply方法扩展之后的结果就为上面的测试结果了 //***************分隔线*********************** document.write("<br>") //Ext.applyIf(src,apply)和Ext.apply(src,apply)的区别在于 //如果原对象中存在当前正在比较的属性,那么就不进行复制了,多以当然就不会修改该属性的值了 // 例如: var srcif = {name:"tom",age:22}; var applyif= {sex:"男",age:33,name:"jack",sal:10000}; Ext.applyIf(srcif,applyif); for(var attr in srcif){ document.write(attr+"----"+srcif[attr]) document.write("<br>") } //结果是 //name----tom //age----22 //sex----男 //sal----10000 })
时间: 2024-10-11 20:08:12