2013-05-01 53 views
1

我想将数据存储在两个不同的结构化对象如:JavaScript对象内容通过引用分配,这可能吗?

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

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

是否(以及如何)可以设置“内容”的方式,因为它在一个被更新的两个对象进行更新他们俩?

here my experimental jsfiddle

+0

感谢jAndy的答案,我创造了这个的jsfiddle,这表明在JavaScript中传递的引用(对象中)http://jsfiddle.net/efrZH/ – 2013-05-01 11:20:24

回答

1

是的,这是非常可能的。但是您需要一个纯粹的对象参考而不是原始值。由于ECMAscript只能通过参考左右,这几乎意味着你想要什么。例如

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 
+0

感谢您的信息! – 2013-05-01 11:21:06