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をどうやって実現しますか?
StringBuider>String.concat()>String+
例:
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+