将两个对象混合为一个对象
    Object.assign()
    参数:可传入多参数,
    返回值:为第一个参数 ,会改变第一个参数的值
    假设有参数为两个对象,第二参数的对象会将值复制给第一个对象来实现对象混合,如果是三个对象的话,第三个对象会先跟第二个对象混合后在跟第一个对象混合, 如果想不改变源对象的值进行混合,就需要把第一个设置为空对象来接受后面的值,
    对象混合,且不改变原对象的值

    1. var obj1 = {
    2. x: 1,
    3. y: 3,
    4. z: 5
    5. };
    6. var obj2 = {
    7. x: "abc",
    8. z: "bcd",
    9. h: "aaa"
    10. };
    11. var obj = Object.assign({}, obj1, obj2);

    自己实现

    1. var o1 = {
    2. x:1,
    3. y:12,
    4. zx:'asdf',
    5. 1:{
    6. x:123,
    7. },
    8. 2:[1,2,3]
    9. }
    10. var o2 = {
    11. x:'asdf',
    12. y:'sdgrrrrrrrr',
    13. h:'hjkyuio',
    14. ss:[1,2,3]
    15. }
    16. function objMixture(obj1,obj2){
    17. var newObj = {};
    18. // 把obj1中的属性复制到newObj
    19. for (var prop in obj2) {
    20. newObj[prop] = obj2[prop];
    21. }
    22. // 将obj1中有的但是obj2中没有的复制到newObj
    23. for (var prop in obj1) {
    24. if (!(prop in obj2)) {
    25. newObj[prop] = obj1[prop];
    26. }
    27. }
    28. return newObj;
    29. }
    30. var oo = objMixture(o1,o2)