我明显不明白关于JS对象的东西。Javascript对象和嵌套
function baseObject() {
var self = this;
self.value = "value";
self.nestedObject = function() {
var nest = this;
nest.value = self.value;
nest.deepNest = function() {
var deep = this;
deep.value = nest.value;
deep.selfValue = self.value;
};
};
self.nestedObject2 = {
value: self.value,
deepNest: {
value: this.value,
selfValue: self.value
}
};
}
我会打破小提琴,并设法使我的问题清楚。
我对JS对象的理解是,当通过值传递时,当一个对象设置为与另一个对象相等时,它们都应该指向相同的值,以便在更新原始对象时,设置的对象等于它会更新。
参见:Javascript pointer/reference craziness. Can someone explain this?
首先,我没有看到这种情况发生(而这正是我希望发生的)。但即使是陌生人,当我更改基础对象时,如果它们嵌套得足够深,实际上这些值会变为NULL。请帮助。我显然缺少一些东西。
为了防止您的JS引擎执行与我的不同的操作,我的计算机上会显示结果(Windows 7在Chrome中运行)。
您可以使用对象操场上玩耍:http://www.objectplayground.com/ –