【发布时间】:2017-11-06 08:43:33
【问题描述】:
我在 Javascript 中创建了很多对象,我需要能够引用它们以便稍后检索,例如通过数组。现在我想知道如何将对象引用保存在数组中。
对象将与外部库交互,该库可以使用对象 ID 或对象本身来运行。我知道 Javascript 将对象变量视为指针而不是对象副本,所以直接引用对象是否安全?
起初我在想“如果我保存对象的 ID,那么内存使用率会很低”,但这是真的吗?与整数变量相比,对象变量* 消耗多少内存?
*指向对象的指针,而不是对象数据
另外,如果直接保存对象是要走的路,可以使用array.push() 将新对象添加到数组中吗? array.push() 是在创建副本还是像变量一样工作?
【问题讨论】:
-
"[...] 直接引用对象是否安全?"是的。 “与整数变量相比,对象变量*消耗多少内存?” - 没有指定,但这里的任何内存使用都完全可以忽略不计。优化 JS 编译器非常有效地存储紧凑的 31 位有符号整数数组(每个整数 32 位)。对象(引用)可能占用 64 位?
标签: javascript object memory