如何编写优化的JavaScript

  1. 对象属性的顺序:始终以相同的顺序实例化对象属性,以便可以共享隐藏的类和随后优化的代码。
  2. 动态属性:在实例化后向对象添加属性将强制隐藏类更改并减慢为先前隐藏类优化的任何方法。而是在其构造函数中分配所有对象的属性。
  3. 方法:重复执行相同方法的代码将比仅执行一次不同方法的代码运行得更快(由于内联缓存)。
  4. 数组:避免密钥不是增量数的稀疏数组。其中没有每个元素的稀疏数组是哈希表。这种阵列中的元素访问起来更加昂贵。另外,尽量避免预先分配大型数组。随着你的成长,你的成长会更好。最后,不要删除数组中的元素。它使密钥稀疏。
  5. 标记值:V8表示32位的对象和数字。它使用一个位来知道它是一个对象(flag = 1)还是一个称为SMI(SMall Integer)的整数(flag = 0),因为它的31位。然后,如果数值大于31位,V8将对该数字进行处理,将其变为双精度并创建一个新对象以将数字放入其中。尝试尽可能使用31位带符号的数字,以避免对JS对象进行昂贵的装箱操作。

我们在SessionStack尝试在编写高度优化的JavaScript代码时遵循这些最佳实践。原因是,一旦您将SessionStack集成到您的生产Web应用程序中,它就会开始记录所有内容:所有DOM更改,用户交互,JavaScript异常,堆栈跟踪,失败的网络请求和调试消息。 
使用SessionStack,您可以将网络应用中的问题作为视频重播,并查看用户发生的所有事情。所有这一切都必须发生,对您的Web应用程序没有性能影响。
有一个免费的计划,允许您免费入门

JavaScript的工作原理 (终章)_其他

资源