javascript - null与未定义的Javascript内存影响
问题描述
我在内存利用率对我们非常重要的领域工作,因为我们不在您的经典网络浏览器/硬件上运行。
我们在应用程序中经常使用 null,我还不清楚一件事是 null 是否比将变量分配给 undefined 占用更多空间。
我们是否知道其中一个或另一个在内存使用方面的成本更高?
感谢帮助!
解决方案
正如您在这个 jsperf 测试中看到的,null 在 chrome(V8,就像 nodejs)中似乎稍快一些,这可能表明它的性能稍高一些。
由于 undefined 是一个比 null 更长的字符串,JIT 编译器在解析时使用 undefined 而不是 null 时必须多保存 4 个字节到内存中。考虑一下那段记忆。
垃圾收集不关心值是 null 还是 undefined。差异应该很小。您应该考虑使用 null 而不是 undefined类型的后果。为了性能而强制使用其中任何一个可能弊大于利。
推荐阅读
- python - _meta.get_field() '方法' 对象不可下标
- javascript - jQuery on() 方法不适用于动态添加类的元素
- python - 函数上的 Python 类型提示
- javascript - Jquery UI自动完成成功但不显示文本
- python - Django 模板上的 Motion JPG 图像
- javascript - Discord.js 等待 net.Socket 连接
- node.js - 如何在 node.js 中使用面向对象的设计模式实现中间件?
- python - 试图从 html 的下拉列表中获取一个值,并使用该值作为键来查询数据库并在 django 的同一页面上显示结果
- outlook - Outlook 应用程序没有 getItemIdAsync 功能,但 Web Outlook 在为约会创建 Web 插件时具有
- flutter - Flutter 错误 - 断言失败:第 298 行 pos 10:'data != null':必须向 Text 小部件提供非空字符串。登录时