zoukankan      html  css  js  c++  java
  • Ext.apply(src,apply) 和 Ext.applyIf(src,apply)比较(转)


    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


    })
    ---------------------
    作者:南京煜之隆
    来源:CSDN
    原文:https://blog.csdn.net/responsecool/article/details/41117269
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    临界区,互斥量,信号量,事件的区别
    解决位图失真-SetStretchBltMode()
    Invalidate、RedrawWindow与UpdateWindow
    Shlwapi.h Shlwapi.dll 动态库
    C++ _access和_waccess的使用方法
    纯C++ 连接SQL Server2005 数据库读写操作的小例子
    测试代码执行时间的帮助类
    BUG: GetDC() ReleaseDC()引起的内存泄漏
    DebugView图文教程
    CreateFile函数详解
  • 原文地址:https://www.cnblogs.com/qdck/p/10649606.html
Copyright © 2011-2022 走看看