【发布时间】:2024-01-20 07:22:02
【问题描述】:
或者它们实际上是一样的?如果我知道一个函数只需要 2 条信息,那么使用其中一种更好吗?
const twoKeyValPairs = {a:1, b:2};
对
const a = 1;
const b = 2;
【问题讨论】:
-
最好的代码是别人看了也不会觉得羞耻
-
这能回答你的问题吗? Do object references take up extra memory?
-
查看上述链接问题的第二个答案^^
-
@2pha 不是真的,我不是在询问指向对象的指针。我在询问通过创建一个对象创建的内存,该对象具有 2 个以整数作为值的键与 2 个变量整数。我会假设该对象占用更多空间,正如我记得在我的一个 C 类中,一个结构在内存中占用 4 或 8 位或类似的东西。我想知道括号是否会在内存中创建一个固定空间,以及内部数据创建的任何内存。
-
一个对象需要更多的管理,比如它的原型、“内部槽”和它的属性描述符。即使隐藏类正在使用中,它们至少会在对象头中占用一个额外的指针。更不用说额外的堆内存管理开销了。也许逃逸分析和优化可以使它们等效,但我无法想象一个额外的变量比对象方法占用 更多 空间。
标签: javascript space space-complexity