開発中は、誰もが通常の文字列結合方法の代わりに StringBuilder をできるだけ使用するように注意します。しかし、おそらくほとんどの開発者は、この効率の問題は js でも注意を払う必要があることを見落としています。
パフォーマンス テストを実施して、事実を語ってみましょう!
function xntest(){
var d1=新しい日付();
var str="";
for(var i=0;istr ="stext"; d2=new Date();
document.write("文字列連結メソッドには時間がかかります:" (d2.getTime()- d1.getTime()) "ミリ秒;"); ;
var sb=new StringBuilder();
for(var i=0;isb.append("stext"); =sb .toString();
d2=new Date();
document.write("配列モードでかかる時間:" (d2.getTime()- d1.getTime()) "ミリ秒;") ;
}
/////Array を使用して実装された文字列結合関数は、C# 開発者が理解しやすいように特別に StringBuilde という名前が付けられています。
function StringBuilder(){
this._strings_ =新しい配列;
}
StringBuilder.prototype.append=function(str){
this._strings_.push(str);
StringBuilder.prototype.toString=function( ){
return this._strings_.join("");
}
xntest() 関数を 3 回実行した後の結果は次のとおりです:
Stringスプライシング メソッドは 735 ミリ秒かかります。
文字列連結メソッドは 63 ミリ秒かかります。
文字列連結メソッドは 63 ミリ秒かかります。
この例は、文字列を 10,000 回接続するパフォーマンス テストです。興味のある友人なら誰でもテストできると思います。
したがって、フロントエンド開発では、大規模な文字列のスプライシング操作を避けるように努め、コードの効率を合理的に向上させるために配列メソッドを使用する必要があります。