ホームページ  >  記事  >  ウェブフロントエンド  >  javascript_javascript スキルで文字列を結合するときに注意する必要がある問題

javascript_javascript スキルで文字列を結合するときに注意する必要がある問題

WBOY
WBOYオリジナル
2016-05-16 18:23:231041ブラウズ

開発中は、誰もが通常の文字列結合方法の代わりに 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 回接続するパフォーマンス テストです。興味のある友人なら誰でもテストできると思います。
したがって、フロントエンド開発では、大規模な文字列のスプライシング操作を避けるように努め、コードの効率を合理的に向上させるために配列メソッドを使用する必要があります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。