【发布时间】:2016-03-07 01:16:34
【问题描述】:
我正在使用以下字符对象(如下)构建字符串密集的字符描述。效率非常重要,而且我知道带有长字符串的数组会很快变得头重脚轻。假设在这两种情况下,都可以轻松引用属性,并且值相同,那么在效率方面,以下两个对象之间是否有任何重大差异?
this.genphysdesc = genphysdesc;
this.facetype = facetype;
this.bodytype = bodytype;
this.haircol = haircol;
this.gender = gender;
this.pronA = pronA;
this.pronB = pronB;
this.pronC = pronC;
this.pronD = pronD;
VS.
this.physdesc = [genphysdesc, facetype, bodytype, haircol]
this.gender = [gender, pronA, pronB, pronC, pronD]
在任何一种情况下,值都是大约 5-35 个字符的字符串。
如果有任何不清楚的地方,请告诉我。感谢您的帮助!
【问题讨论】:
-
测试一下。这种性能优化完全属于“过早优化”阵营。即使存在差异,在不同的浏览器中也可能存在显着差异,并且浏览器间的差异可能比对象结构之间的差异更大。但是,如果以后出现问题,最好这样做并解决性能问题。
-
@RobG 感谢您的反馈!我应该提到,为了合理化和轻微但明显的性能提升,我将大量数组转换为对象。到目前为止,我测试的内容似乎很可靠,但我想与比我更有经验的人进行验证,然后再走得太远并陷入无法预料的束缚。我对 JS 还是很陌生,所以关于浏览器间性能变化的提示是很好的信息。我从您的回答中得知,您没有看到任何明显的理由偏爱一种方法而不是另一种方法?非常感谢。
标签: javascript arrays performance object attributes