javascriptでStringBuiderを実現します.

1336 ワード

Step 1.JavaScript内の文字列接続を探る
例:
var str=「good」
str+=「モーニング」
コードの実際の実行手順はC〓中と類似しています.
1.「good」のメモリを割り当てる
2.「モーニング」のメモリを割り当てる
3.2文字列接続後のメモリを開く
4.strの現在の内容を新しいメモリにコピーする
5.「moning」を新しいメモリにコピーする
6.strの引用を新しいメモリに向ける
問題:多くの文字列の接続に関わると、効率の問題が感じられます.
解決方法:Arayオブジェクトで文字列を格納し、join方法で文字列を接続する
var array=new Aray()
 //W 3 Cについて調べてみましたが、Arayの作成については、「you can add as many values as you need to」と言いました.
 //define as many variables you require"を試してみましたが、10の10乗のレベルに達することができます.
array[0]=「good」
array[1]=「モーニング」
var str=array.join(");
ステップ:
1.記憶文字列のメモリを開く
2.各文字列を新しいメモリにコピーし、strがそれを指す
Step 2.javascriptのStringBuiderをどうやって実現しますか?
function StringBuilder() {
	console.log(this); 
	//StringBuilder   
	//    _stringArray: Array[2] 
	//    __proto__: StringBuilder

	this._stringArray = new Array();
}

StringBuilder.prototype.append = function(str){
	this._stringArray.push(str);
}
StringBuilder.prototype.toString = function(joinGap){
	return this._stringArray.join(joinGap);
}

var stringBuilder = new StringBuilder();
stringBuilder.append("hi");
stringBuilder.append("haojie");

console.log(stringBuilder.toString(" ")); // hi haojie
オンラインで検索した接続文字列の性能比較、
StringBuider>String.concat()>String+