重複の可能性:
JavaScript 文字列連結
javascript には stringbuilder クラスが組み込まれていますか?
str = str + "123"
これを行うと、新しい文字列が作成されることが知られています。多数の連結がある場合、かなり高価になる可能性があります。JavaScript で StringBuilder を実装する簡単な方法はありますか?
重複の可能性:
JavaScript 文字列連結
javascript には stringbuilder クラスが組み込まれていますか?
str = str + "123"
これを行うと、新しい文字列が作成されることが知られています。多数の連結がある場合、かなり高価になる可能性があります。JavaScript で StringBuilder を実装する簡単な方法はありますか?
パーツを配列にプッシュしてから結合できます。
var builder = []
builder.push( "some", "123" );
builder.push( "content" );
var str = builder.join("");
This SO questionはそれを詳細に説明しています。このクラスも参照してください
文字列が静的な場合は、JavaScript の従来の連結が最適です。
var foo = 'a' + 'b' + 'c' + 'd';
これは、ほとんどのブラウザに当てはまります。文字列連結
文字列がプログラムに従って可変である場合、どちらの方法も同様に効率的です。
var foo = ""+Math.random() + Math.random() + Math.random() + Math.random();
var foo = [Math.random(), Math.random(), Math.random(), Math.random()].join('');
ブラウザ間の違いはそれほど大きくありませんが、従来の方法の方が少し優れているようですstring-random-concatenation
通常の文字列連結よりも高速な StringBuilder を実装することは決して簡単ではないと思います。そして、それが明らかにビルダーの理由です。
配列に入力し、完全な場合は文字列に変換します。