184

JavaScript には、多くの反復があるループがあり、各反復で、多くの+=演算子を使用して巨大な文字列を作成しています。文字列を作成するより効率的な方法はありますか? 文字列を追加し続けて結合する動的配列を作成することを考えていました。誰でもこれを行うための最速の方法を説明して例を挙げてもらえますか?

4

7 に答える 7

89

連結自体についてはコメントしませんが、@ Jakub Hampl の提案を指摘したいと思います。

DOM で文字列を作成する場合、巨大な文字列を一度に追加するよりも、DOM に繰り返し追加する方がよい場合があります。

欠陥のあるテストに基づいているため、間違っています。そのテストが実際に DOM に追加されることはありません。

この固定テストは、文字列をレンダリングする前に一度に作成する方がはるかに高速であることを示しています。コンテストでもありません。

(申し訳ありませんが、これは別の回答ですが、回答についてコメントするのに十分な担当者がまだいません。)

于 2013-12-15T05:55:22.120 に答える
17

この質問に回答してから3年が経ちましたが、とにかく回答を提供します:)

実際、受け入れられた答えは完全には正しくありません。Jakub のテストでは、ハードコーディングされた文字列を使用して、JS エンジンがコード実行を最適化できるようにしています (Google の V8 は、この点で非常に優れています!)。しかし、完全にランダムな文字列 (ここでは JSPerf ) を使用するとすぐに、文字列連結は 2 位になります。

于 2016-03-09T17:32:48.290 に答える