我明顯不明白關於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/ –