我显然不了解 JS 对象。
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 指针/引用疯狂。有人可以解释一下吗?
首先,我没有看到这种情况发生(这就是我想要发生的)。但更奇怪的是,如果它们嵌套得足够深,当我更改基础对象时,我看到这些值实际上变成了 NULL。请帮忙。我显然错过了一些东西。
以防万一您的 JS 引擎与我的引擎有所不同,以下是我计算机上的结果(Windows 7 在 Chrome 中运行)。