简体   繁体   English

Javascript:将2个对象组合为一个

[英]Javascript: combine 2 objects into one

Is it possible to define a variable C to be a combination of 2 objects(let's say A and B), so that anything happens to A and B at any time in the future will happen to C. This means, C is declared before any change to A and B . 是否可以将变量C定义为两个对象的组合(假设A和B),以便将来在任何时候 A和B发生任何事情都将发生在C上。这意味着C在任何更改为A和B。 For example: 例如:

var A = {};
var B = {};
var C = combine(A, B);

A.a=1;
B.b=2;

console.log(C);
// { a:1, b:2 }

C would have to be a function: C必须是一个函数:

function extend(obj) {
    if (typeof obj !== 'object') return obj;
    Array.prototype.slice.call(arguments, 1).forEach(function (source) {
        for (var prop in source) {
            obj[prop] = source[prop];
        }
    });
    return obj;
};

var A = {};
var B = {};
var C = function () {
    var _c = {};
    return extend(_c, A, B);
};

Then call C like: 然后像这样调用C:

A.a=1;
B.b=2;

console.log(C());
// { a:1, b:2 }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM