我是JavaScript新手,来自C ++背景。这听起来很愚蠢,但我无法在JavaScript中找到如何删除使用new
创建的对象。
以下是一个例子:
function Article (id) {
this.content = db.get('article', "id:" + id);
...
}
var article = new Article(5);
Article的每个实例在从数据库获取数据时分配内存(在我的文章内容中)。这导致我的应用程序快速增长到内存使用量的千兆字节。
如何在JavaScript中释放内存?我发现delete
但它似乎删除了数组和哈希元素而不是对象。
答案 0 :(得分:3)
删除对该对象的所有引用,它将被垃圾收集(当JS引擎进行一些垃圾收集时)。
article = undefined; // or some other value
答案 1 :(得分:0)
它会在将来的某个时刻通过垃圾收集自动发生,或者永远不会发生。与C ++中的RAII不同,它是非确定性的。