• js对象的复制,传递,新增,删除和比较


    当我们把一个某个对象拷贝或者传递给某个函数时,往往传递的是该对象的引用。

    因此我们在引用上做的任何改动,都将会影响到它所引用的原对象。 

    复制,拷贝 

     var o = { add: 'Changdao'};

     var oBox = o; 

    oBox.add;//Changdao;

    oBox.add='Lijiang';

    o.add;//Lijiang; 

     传递

    var o = { add: 'Changdao'};

    var xinObj = function(key) { key.add = 'Xichang' };

    xinObj(o) ;

    o.add;//Xichang; 

    新增,删除

     var o = { add: 'Changdao'};

    o.father='TomG';

    o.morther= 'HanMM';

    delete o.add;

    o.add;//undefined; 

    比较 

     当且仅当,两个对象指向同一个对象引用时,返回true;

     即使碰巧两个对象拥有相同的属性和值也不行;

     var objA = { address:'Panpei'},objB ={address:'Panpei'};

    objA===objB;//false;

    var oBox = objA;

    oBox= objA;//true 

     oBox.address="Kongdali";

     objA.address;//Kongdali;

    错误的定义方式var oBox = objB && objA; 如果对象是如此定义的话,虽然可能不报错,但如果两个对象都存在的情况下,一般得到的值为第二个的,所以这样写没有意义,容易出bug

  • 相关阅读:
    抓老鼠啊
    币值转换
    打印沙漏
    秋季学习总结
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告2
    实验报告一 &第三周课程总结
    Java第二周总结
    2019春总结作业
    第十六周
  • 原文地址:https://www.cnblogs.com/Aladingding/p/4600564.html
Copyright © 2020-2023  润新知