我正在尝试解决这个 javascript 变量引用问题。这是一个小提琴来演示我要解释的内容:http: //jsfiddle.net/XpVb5/1/
我有一个要在单独对象的属性中定义和调用的对象。
var vals = {'something':1}; //original object
var buf = {'field1': vals, 'field2': vals}; //second object with original object used as properties
现在我想更改onlysomething
的属性,所以很自然地,我会这样做: field1
buf.field1.something = 0;
但是,这也会改变'field2
的something
属性。我假设这是因为 Javascript 在变量定义过程中引用变量的方式。但是,在任何一种情况下,如果每次我需要在属性定义中使用它时,我怎么能绕过它而不显式调用它;{'something':0}
像这样:
var buf = {'field1': {'something':0}, 'field2': {'something':1}};