如果我無法避免在Node.js應用程序中使用「new」關鍵字,那麼如何有效地標記垃圾收集對象?我創建一個相當高的水平構造一個新的對象(由是,我的意思是new myObj()
實際上創建了幾個new Something()
對象更深的下跌的過程中如何在JavaScript中標記「新」對象進行垃圾收集(Node.js)
比方說,我的構造看起來有點像下面這樣:。
function User(name, age) {
this.something = x;
this.greet = function() { return "hello"; };
this.somethingElse = new OtherThing();
return this;
}
function createUserAndGreet(name, age) {
var user1 = new User(name, age);
user1.greet();
// now I don't need user1 anymore
}
(順便說一句,我知道這個代碼很爛,但我認爲它橫跨得到我的觀點)
:然後我另一個函數中創建一個新的
我得到他打招呼後,我怎能擺脫他,釋放他佔領的記憶?
因此,如果我在完成他之後將user1設置爲null並且user1 = null;
,他是否會永遠消失,GC會來清理他?這是否也會刪除創建的new OtherThing()
?或者還有什麼我需要做的?我聽說使用new
臭名昭着的內存泄漏,所以我只想知道是否有解決方法。
好的很好:)謝謝 – 2014-08-29 13:03:40