首页 > 解决方案 > null与未定义的Javascript内存影响

问题描述

我在内存利用率对我们非常重要的领域工作,因为我们不在您的经典网络浏览器/硬件上运行。

我们在应用程序中经常使用 null,我还不清楚一件事是 null 是否比将变量分配给 undefined 占用更多空间。

我们是否知道其中一个或另一个在内存使用方面的成本更高?

感谢帮助!

标签: javascriptmemorymemory-managementnullundefined

解决方案


正如您在这个 jsperf 测试中看到的,null 在 chrome(V8,就像 nodejs)中似乎稍快一些,这可能表明它的性能稍高一些。

由于 undefined 是一个比 null 更长的字符串,JIT 编译器在解析时使用 undefined 而不是 null 时必须多保存 4 个字节到内存中。考虑一下那段记忆。

垃圾收集不关心值是 null 还是 undefined。差异应该很小。您应该考虑使用 null 而不是 undefined类型的后果。为了性能而强制使用其中任何一个可能弊大于利。


推荐阅读