🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 对象专题 > * 减少不必要的对象创建: > * 创建对象本身对性能影响并不大,但由于`JAVASCRIPT`的垃圾回收调度算法,导致随着对象个数的增加,性能会开始严重下降(复杂度`O(n^2)`)。 > * 如常见的字符串拼接问题,单纯的多次创建字符串对象其实根本不是降低性能的主要原因,而是是在对象创建期间的无谓的垃圾回收的开销。而`Array.join`的方式,不会创建中间字符串对象,因此就减少了垃圾回收的开销。 > * 复杂的`JAVASCRIPT`对象,其创建时时间和空间的开销都很大,应该尽量考虑采用缓存。 > * 尽量作用`JSON`格式来创建对象,而不是`var obj=new Object()`方法。前者是直接复制,而后者需要调用构造器。 > * 对象查找 > * 避免对象的嵌套查询,因为`JAVASCRIPT`的解释性,`a.b.c.d.e`嵌套对象,需要进行`4`次查询,嵌套的对象成员会明显影响性能。 > * 如果出现嵌套对象,可以利用局部变量,把它放入一个临时的地方进行查询。 > * 对象属性 > > > * 访问对象属性消耗性能过程(`JAVASCRIPT`对象存储)。 > > > * 先从本地变量表找到`对象`。 > * 然后遍历`属性`。 > * 如果在`当前对象`的`属性列表`里没找到。 > * 继续从`prototype`向上查找。 > * 且不能直接索引,只能遍历。 > > > > ~~~ > function f(obj) { > return obj.a + 1; > } > ~~~