2014-02-26 16 views
0

我已經瞭解到,JavaScript中的對象通過引用傳遞,所以如果我刪除一個,他們都將無法訪問。jsobj據推測通過引用,但似乎克隆

現在,

var self = self.parent.modules[moduleId].slideshow; 

delete self.parent.modules[moduleId].slideshow; //remove the module object from the JSON 

console.error('deleted self. it is now:');     
console.error(self.parent.modules[moduleId].slideshow); 

該控制檯打印未定義,符合市場預期。但是,如果我這樣做:

console.error('deleted self. it is now:');     
console.error(self); 

它仍然有可能存在我,就好像它實際上是複製的對象?

回答

1

您刪除了屬性不是屬性引用的值。

其他參考值不受影響。

+0

哦......我怎樣才能刪除屬性引用的值?看到這就是我想要做的。 –

+0

只刪除對它的所有引用。 – Quentin

+0

我可以將它設置爲null,然後刪除參考?對於類似的效果。 –