ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript学習メモ(7) String connection_javascriptスキル

JavaScript学習メモ(7) String connection_javascriptスキル

WBOY
リリース: 2016-05-16 18:37:29
オリジナル
847 人が閲覧しました
文字列の連結
1. 最も一般的に使用される =
この方法は最も効率が悪いと言われています。なぜですか?このメソッドの実際のプロセスを確認できます。
var str = "hello";
str = "world";
(1) "hello" を格納する文字列を作成します。
(2)「world」を格納する文字列を作成します。
(3) 接続結果を格納する文字列を作成します。
(4) str の現在の内容を結果にコピーします。
(5) 「world」を結果にコピーします。
(6) 結果を指すように str を更新します。
ステップ 2 ~ 6 は文字列の連結が完了するたびに実行されるため、この操作はリソースを非常に消費します。このプロセスが何百回、場合によっては何千回も繰り返されると、パフォーマンスの問題が発生する可能性があります。この使い方は将来的には廃止されます、ははは。 ^_^
2. Join() メソッド
コードをコピー コードは次のとおりです。

//ボタンは
関数 JoinFn() {
var arr = new Array;
arr[0] = "Zhang San"
arr[1]; = "Li Four";
alert(arr.join(""));
}

実行される手順は次のとおりです。
(1) 文字列を作成します。結果を保存します。
(2) 各文字列を結果内の適切な場所にコピーします。
この方法は最初の方法よりも高速です。
3. カスタムクラスをカプセル化する
JavaScript には C# のような StringBuilder クラスはありませんが、StringBuilder クラスをカスタマイズする方法は前の記事で述べた通りです。 「ハイブリッド コンストラクター/プロトタイプ アプローチ」。
コードをコピー コードは次のとおりです:

//文字を接続するための StringBuilder クラスをカスタマイズします。 String
function StringBuilder() {
this._strings = new Array();
}
StringBuilder.prototype.append = function(str) {
this._strings.push(str) ;
};
StringBuilder.prototype.toString = function() {
return this._strings.join("");
//ボタンは
関数 MyConnectClassFn を呼び出します。 () {
var sb = new StringBuilder();
sb.append("李思"); ; join() が最も速いようですが、3 番目のクラスが最も遅いようです。カスタム StringBuilder クラスに問題があるのでしょうか。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート