【发布时间】:2013-11-25 07:17:35
【问题描述】:
我正在尝试解决这个 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
现在我想将something 属性更改为only field1,所以很自然,我会这样做:
buf.field1.something = 0;
但是,这也会改变 field2 的 something 属性。我假设这是因为 Javascript 在变量定义过程中引用变量的方式。但是,无论哪种情况,每次我需要在属性定义中使用{'something':0} 时,我如何才能绕过这个不显式调用它;像这样:
var buf = {'field1': {'something':0}, 'field2': {'something':1}};
【问题讨论】:
-
这更像是一个按价值/按引用的问题,而不是一个范围界定的问题。见,例如stackoverflow.com/questions/518000/…
标签: javascript variables object properties