【发布时间】:2018-06-14 10:07:38
【问题描述】:
我在内存利用率对我们非常重要的领域工作,因为我们不在您的经典网络浏览器/硬件上运行。
我们在我们的应用程序中使用了很多 null,我不清楚的一件事是 null 是否比将变量分配给 undefined 占用更多空间。
我们是否知道其中一个或另一个在内存使用方面的成本更高?
感谢您的帮助!
【问题讨论】:
标签: javascript memory memory-management null undefined
我在内存利用率对我们非常重要的领域工作,因为我们不在您的经典网络浏览器/硬件上运行。
我们在我们的应用程序中使用了很多 null,我不清楚的一件事是 null 是否比将变量分配给 undefined 占用更多空间。
我们是否知道其中一个或另一个在内存使用方面的成本更高?
感谢您的帮助!
【问题讨论】:
标签: javascript memory memory-management null undefined
正如您在this jsperf test 中看到的,null 在 chrome(V8,就像 nodejs)中似乎稍快一些,这可能表明它的性能稍高一些。
由于 undefined 是一个比 null 更长的字符串,JIT 编译器在解析时使用 undefined 而不是 null 时必须多保存 4 个字节到内存中。考虑一下那段记忆。
垃圾回收doesn't care about the value being either null or undefined。 差异应该很小。您应该考虑使用 null 而不是 undefined 的 types 的后果。为了性能而强制使用其中任何一个可能弊大于利。
【讨论】: