我在小提琴中写了一个简单的测试脚本:http: //jsfiddle.net/resting/qfCue/
我想要做的是将 margin 属性设置为 2,并让obj.foptions.labelMargin
并obj.marginClone
接受这个值。
obj.foptions.labelMargin
我知道它有可能直接改变价值obj.marginClone
。但这不允许我“改变一个地方,改变所有地方”。
相反,两者obj.foptions.labelMargin
和obj.marginClone
都是undefined
。
我如何this.margin
阅读为 2?
代码:
var obj= {
margin: 10,
setMargin: function(val) { this.margin = val; },
foptions: { labelMargin: this.margin },
marginClone: this.margin
}
obj.setMargin(2);
console.dir(obj.foptions);
console.log(obj.marginClone);
console.log(obj.margin);