3

私は jQuery のパフォーマンス ベンチマークを実行していて (聞かないでください)、興味深いことを発見しました。何らかの理由で、 にthis[0] = element比べてかなり遅いようthis.foo = elementです。必須のjsPerf ケースを次に示します。

なぜそのようなパフォーマンスヒットがあるのか​​ 誰か説明できますか? 明らかな「文字列キーを使用する」以外にパフォーマンスを向上させる方法はありますか?

4

1 に答える 1

2

[0]互換性がないことが判明し、文字列("0")にキャストされてから、文字列ルックアップとして使用される必要があります["0"]

それが起こっていることの100%を説明していることを私は知りませんが、とにかく、それは普遍的な部分です。
残りのほとんどは、エンジンごとに、内部での最適化になります。

これも配列でも、配列ルックアップでもありません。
これは、オブジェクトの単なる角かっこ表記です。

于 2012-10-12T17:20:04.313 に答える