垃圾收集:对象属性

2024-01-23

假设我有一个对象,其中包含另一个对象作为其属性,例如

var obj = {
    '1': {...},
    '42': {...}
};

When obj超出范围 - 所有嵌套对象是否都隐式销毁,或者我需要迭代它们并且delete明确地?


是的,除非另一个参考仍然存在:

var obj = {
    '1': {...},
    '42': {...}
};


var save = obj['1'];

obj = null; 

在垃圾回收之后,假设没有创建其他引用,那么 obj 和 obj['42'] 的空间将被回收,saved 的值当然会被保留。

Mea culpa :正如评论中提到的delete obj在我的原件中无效,因为obj被宣布为var. Had obj是全局的,因此是全局对象的属性,delete会工作得很好。要有效删除汽车,请使用obj = null。 我在测试中学到的一件事是delete一个运算符并返回true or false.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

垃圾收集:对象属性 的相关文章

随机推荐

  • Java wait()、notify() 的实现与锁有显着不同吗?

    出于好奇 当Java实现wait 和notify 方法时 它们真的只是使用锁吗 即 wait 获取互斥体 notify 释放互斥体 notifyAll 释放所有互斥体 当然在同一个对象中 使用wait 和notify 除了比使用锁方便之外还
  • 如何向 iOS 14 小部件添加按钮

    我正在尝试向具有系列类型 systemLarge 的小部件添加按钮 我想在不打开应用程序的情况下执行一些代码 有人知道该怎么做吗 例如 快捷方式应用程序小部件包含您可以点击以执行快捷方式而无需打开应用程序的按钮 小部件是只读的 快捷方式应用
  • 使用 ElasticSearch 术语聚合动态创建的存储桶构建 Kibana 直方图

    我希望能够结合Kibana 术语图 能够根据特定属性值的唯一性创建存储桶 以及直方图 根据查询将数据分成桶 然后根据时间说明日期 总的来说 我想创建一个直方图 但我只想根据一个查询的结果创建直方图 而不是像在Kibana 演示应用程序 ht
  • IE10有flex-grow吗?

    Caniuse 使用 ms 前缀表示部分支持http caniuse com search flex grow http caniuse com search flex grow据我所知 然而 当测试 ms flex grow 在 IE10
  • 使用 OpenCV 检测越线人员

    我想统计从两边越线的人数 我有一个放置在天花板上的摄像机 拍摄线条所在的地板 因此摄像机只能看到人的头顶 因此它更多的是物体检测而不是人检测 是否有针对此问题或类似问题的示例解决方案 那我可以向他们学习吗 编辑1 任何时刻都有不止一个人越线
  • python:从字符串模板中提取变量

    我熟悉使用将变量插入字符串的能力模板 https docs python org 2 library string html template strings 像这样 Template value is between min and ma
  • 如何判断该点是否在四面体中?

    我知道四面体的所有坐标和我想确定的点 那么有人知道该怎么做吗 我试图确定该点属于四面体的每个三角形 如果它对所有三角形都成立 则该点位于四面体中 但这绝对是错误的 对于四面体的每个平面 检查该点是否与其余顶点位于同一侧 bool SameS
  • dplyr 中字符串的新列[重复]

    这个问题在这里已经有答案了 我有一个数据框 library tidyverse df lt tribble col1 col2 1 2 现在我想创建一个专栏 我有一个字符串中的新列的名称 它确实像这样工作 df gt mutate col3
  • 可以在运行时将目录添加到类路径中吗?

    为了更好地理解 Java 中的工作原理 我想知道是否可以在运行时动态地将目录添加到类路径中 例如 如果我启动一个 jar using java jar mycp jar 并输出java class path财产 我可能会得到 java cl
  • 类型错误:+ 不支持的操作数类型:“生成器”和“生成器”

    我在目标函数中添加三个表达式时遇到问题 我用了quicksum构建每个表达式 但是 当我尝试将它们添加在一起时 出现错误 无法在 生成器 类上使用 操作数 这是我的代码的最后一部分 the shipping cost expression
  • Angular是否需要取消订阅this.activatedRoute订阅

    My code ngOnInit this activatedRoute params subscribe params Params gt do stuff this activatedRoute data subscribe data
  • Builders 页面从 Eclipse 项目属性中消失

    我不知道我的带有最新 Android SDK 和最新 Sequoyah 插件的 Eclipse Helios 发生了什么 突然 我在项目属性中看不到 构建器 页面 不是工作区中的单个项目 我怎样才能恢复这个页面 检查您目前处于哪个视角 右上
  • 如何处理ETIMEDOUT错误?

    如何处理此调用的 etimedout 错误 var remotePath myremoteurltocopy var localStream fs createWriteStream myfil var out request uri re
  • 在Linux中设置Mysql++

    我想在linux中用C 连接mysql数据库 在我的本地计算机上 我运行 Ubuntu 并安装了 mysql 服务器和客户端软件包 sudo apt get install mysql server mysql client 我碰到Mysq
  • 有什么方法可以获得断点特定的宽度类吗?

    Bootstrap 4 包括宽度类别 https getbootstrap com docs 4 0 utilities sizing w 25 w 50 w 75 w 100 我只想为某些断点及以上指定宽度 例如 w md 25 等 是否
  • 在电子邮件正文中显示 Python HTML 表

    我编写了一个 python 脚本来查询数据库并以 HTML 表格式显示数据 我怎样才能让这个代码以表格的形式显示在电子邮件中 我尝试将代码粘贴到第二个脚本 EMAIL 的 html 标签内 但它不读取 python 代码 仅读取 HTML
  • CUDA 点积

    我正在做一个 cuda 教程 其中我必须制作两个向量的点积 实施教程中提供的解决方案后 我遇到了一些问题 这些问题已在this https stackoverflow com questions 15822412 dot product i
  • Rails Devise:如何(mem)缓存设备对用户对象的数据库请求?

    每次我点击经过身份验证的页面时 我都会注意到设计发出一条 SQL 语句 用户负载 0 2ms 选择users FROM users WHERE users id 1 限制 1 顺便说一句 我正在使用Rails 3 所以cache money
  • 为 DividerItemDecoration 设置可绘制对象

    我正在尝试为 DividerItemDecoration 设置自定义可绘制 线 但没有成功 错误在哪里 DividerItemDecoration dividerItemDecoration new DividerItemDecoratio
  • 垃圾收集:对象属性

    假设我有一个对象 其中包含另一个对象作为其属性 例如 var obj 1 42 When obj超出范围 所有嵌套对象是否都隐式销毁 或者我需要迭代它们并且delete明确地 是的 除非另一个参考仍然存在 var obj 1 42 var