我正在为jQuery运行性能基准测试(不要问)并发现了一些有趣的东西。出于某种原因,this[0] = element
与this.foo = element
相比似乎相当慢。这是强制性的jsPerf case。
有人可以解释为什么会出现这样的性能影响吗?除了显而易见的“使用字符串键”之外,还有什么方法可以改善性能吗?
答案 0 :(得分:2)
必须发现[0]
不兼容,强制转换为字符串("0"
),然后用作字符串查找["0"]
。
我不知道它解释了100%正在发生的事情,但无论如何,这是普遍的部分。
其余大多数都是基于引擎的引擎优化。
这也不是数组,也不是数组查找 它只是对象上的括号表示法。