通过引用分配javascript对象内容,这可能吗?

时间:2013-05-01 11:04:46

标签: javascript object

我想将数据存储在两个不同的结构化对象中,例如:

MS = {              
    waypoints:
        { 'wpg0' : 'content',
          'id' : 'uuid1'
                    }
};

InvertedMS = {
    'uuid1': { 'wpg0' : 'content'
             }
};

是否可以(以及如何)以两种对象中的一种更新两种对象的方式来设置'内容'?

here my experimental jsfiddle

1 个答案:

答案 0 :(得分:1)

是的,这很有可能。但是您需要一个纯对象引用而不是原始值。由于ECMAscript实际上只传递 referecens ,这几乎意味着你想要的。例如

var sharedData = { };

waypoint = {
    wpg0: sharedData
};

InvertedMS = {
    uuid1: { 
        wpg0: sharedData
    }
};

现在,稍后如果您更改sharedData中的任何内容,则对它的所有引用都将反映这些更改。

sharedData.update = 42;

console.log( InvertedMS.uuid1.wpg0.update ); // 42

waypoint.wpg0.update = 82;

console.log( InvertedMS.uuid1.wpg0.update ); // 82