让你更懂 JavaScript:11 13 个 JavaScript 性能提升技巧
Daniel Clifford 在 Google I/O2012 上做了一个精彩的演讲 “Breaking the JavaScript Speed Limit with V8”。在演讲中,他深入解释了 13 个简单的代码优化方法,可以让你的 JavaScript 代码在 Chrome V8 引擎编译 / 运行时更加快速。在演讲中,他介绍了怎么优化,并解释了原因。下面简明的列出了 13 个 JavaScript 性能提升技巧:
- 在构造函数里初始化所有对象的成员 (所以这些实例之后不会改变其隐藏类);
- 总是以相同的次序初始化对象成员;
- 尽量使用可以用 31 位有符号整数表示的数;
- 为数组使用从 0 开始的连续的主键;
- 别预分配大数组 (比如大于 64K 个元素) 到其最大尺寸,令其尺寸顺其自然发展就好;
- 别删除数组里的元素,尤其是数字数组;
- 别加载未初始化或已删除的元素;
- 对于固定大小的数组,使用”array literals“初始化(初始化小额定长数组时,用字面量进行初始化);
- 小数组 (小于 64k) 在使用之前先预分配正确的尺寸;
- 请勿在数字数组中存放非数字的值 (对象);
- 尽量使用单一类型(monomorphic)而不是多类型(polymorphic)(如果通过非字面量进行初始化小数组时,切勿触发类型的重新转换);
- 不要使用 try{} catch{}(如果存在 try/catch 代码快,则将性能敏感的代码放到一个嵌套的函数中);
- 在优化后避免在方法中修改隐藏类。
- 原文作者:知识铺
- 原文链接:https://geek.zshipu.com/post/javascript/%E8%AE%A9%E4%BD%A0%E6%9B%B4%E6%87%82-JavaScript11-13-%E4%B8%AA-JavaScript-%E6%80%A7%E8%83%BD%E6%8F%90%E5%8D%87%E6%8A%80%E5%B7%A7/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com