覆盖功能是否删除它们?

 炜一爱妮 发布于 2023-02-07 13:42

我想说得到了这个:

for(var i = 0 ; i < 100000 ; i++)
{
    // I know, this is not recommended to do it that way...
    // Used it because it is the easiest way to create 
    // different functions to explain the question. 

    a = [ new Function('return ' + i) ];    
}
a = 0;

创建的功能是否被删除?或者它们仍然存在但无法再访问?我可以在此代码中遇到内存问题吗?(不谈性能)

注意:我实际上并没有直接"覆盖"函数:我正在覆盖包含该函数的对象.

1 个回答
  • 只要没有引用所述对象(包括函数),那么它们将被垃圾收集.

    例如,标记和扫描算法遍历对象以检查潜在的"垃圾".一旦对象"无法访问"(任何代码都无法访问),它就会被标记为垃圾回收.

    2023-02-07 13:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有