EXT.apply方法详解

EXT.apply方法详解EXT.applyEXT.apply方法详解EXT.apply方法详解apply的用法:Ext中apply及applyIf方法的应用apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。apply方法的签名为“apply(Objectobj,Objectconfig,Objectdefaults):Object”,该方法包含

EXT.apply方法详解"

EXT.apply方法详解

apply的用法:

    Ext中apply及applyIf方法的应用

apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。

不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。

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

该方法包含三个参数,第一个参数是要拷贝的目标对象,第二个参数是拷贝的源对象,第三个参数是可选的,表示给目标对象提供一个默认值。可以简单的理解成把第三个参数(如果有的话)及第二个参数中的属性拷贝给第一个参数对象。看下面的代码:

var b1={ p1:“p1 value”, p2:“p2 value”, f1:function(){alert(this.p2)}};
var b2=new Object();
b2.p2=“b2 value”;

Ext.apply(b2,b1);b2.f1();

在上面的代码中,Ext.apply(b2,b1)这一语句把b1的属性拷贝到了b2对象中,因此调用b2的f1方法可以弹出”p2 value”的提示信息。尽管b2对象已经包含了p2属性值,但拷贝后该属性值会被覆盖。可以在调用apply方法时,在第三个参数中指定拷贝属性的默认值,比如下面的代码:

Ext.apply(b2,b1,{p3:“p3 value”});

alert(b2.p3);

这样会使得b2中包含一个p3的属性,值为”p3 value”。

applyIf方法的功能跟apply一样,只是不会拷贝那些在目标对象及源对象都存在的属性。比如把前面演示apply方法的代码改成applyIf,

如下:

Ext.applyIf(b2,b1);b2.f1();

由于b2中已经存在了p2属性,因此,b2.f1()方法中引用this.p2的时候,得到的是”b2 value”,而不是在b1中定义的”p2 value”。

下面展示一些 内联代码片

//条件查询
function formSearch(formSearch) { 
   
    dwr.util.useLoadingMessage("正在提交...");
    win_form = formSearch;
    page_ = 1;
    BanChengPinZiYuan.select(formSearch, shower);
}
function daochu(){ 
   
    var formMap = dwr.util.getValues("formMap");
    Ext.apply(formMap,win_form);
    if(win_form != null){ 
   
    	formMap.riqi="";
    }
    BanChengPinZiYuan.exportDefectInfo(formMap, function(data){ 
   
        location.href = 'daochu.jsp?filePath=' + data;
    });
}

将win_form 对象当中的属性赋值给formMap对象当中。

转载于
[1]: https://www.cnblogs.com/yin-jingyu/archive/2011/07/30/2122176.html

今天的文章EXT.apply方法详解分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/29928.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注