gpt4 book ai didi

Javascript:知道对象何时会被垃圾化

转载 作者:行者123 更新时间:2023-12-02 20:44:26 28 4
gpt4 key购买 nike

有没有办法知道对象何时会被 GC 释放?

我的对象(称之为A)在全局数组对象中写入一些变量,因此当该对象被垃圾处理时,它自己的变量将保留在全局数组对象中,占用内存。

ps。我有许多对象 A,并且我不喜欢“手动”调用方法来释放我的全局数组对象。

这是我的情况:

var global_array=[];

function A(x){
global_array.push({who:"A", what:x, id:A.instance++});
this.x=x;
}
A.instance=0;
A.prototype.useIt=function(){
return this.x*2;
}

//will be created an A object and will be garbaged after use by GC
function test(){
var a=new A(10);
var y=a.useIt();
}

test();
//i will never use <a> object again, but global_array hold {who:"A", what:10, id:0)}

不想要

A.prototype.dispose=function(){
// free global_array at the correct index
}

谢谢。

最佳答案

我不太确定问题是什么,但我可以告诉你:

  1. 你无法准确判断何时对象将被垃圾收集

  2. 对象不能是垃圾收集直到所有引用它已被删除,所以保留对数组中对象的引用存储在全局变量中将确保它不是垃圾收集直到页面卸载。

关于Javascript:知道对象何时会被垃圾化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1625135/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com