Heim > Artikel > Web-Frontend > [JS Operation Performance Series] Methoden zum Spleißen von Zeichenfolgen und Leistungsvergleich
Um mehrere Saiten miteinander zu verbinden, gibt es normalerweise drei Methoden, die in der Praxis häufig verwendet werden.
Verwenden Sie die Zeichenfolgenverkettungszeichen „“, „string1“ „string2“ ...
Verwenden Sie die Join-Funktion des Arrays. Schreiben Sie zuerst die Zeichenfolge in ein temporäres Array und rufen Sie dann die Join-Methode des Arrays auf, um die Zeichenfolgenelemente zu verbinden.
Verwenden Sie die Concat-Funktion von String.
Methode 1: Verwenden Sie den String-Verknüpfer ' '
var concat1 = function(str1, str2){ return str1 + str2; };
Methode 2: Verwenden Sie die Join-Funktion des Arrays
var concat2 = function(str1, str2){ var arr = []; arr.push(str1); arr.push(str2); return arr.join(); };
Methode 3: Verwenden Sie die Verkettung von die Zeichenfolge Funktion
var concat3 = function(str1, str2){ return str1.concat(str2); };
Leistungsübersicht
Ich habe Benchmark lokal verwendet, um die Leistung der beiden oben genannten Methoden zu vergleichen. Die Testumgebung wird in Chrome 46.0.2490 / Mac OS X 10.10 getestet. 4. Die Ergebnisse sind wie folgt:
concat#+ x 90,483,047 ops/sec ±2.06% (84 runs sampled) concat#array-jion x 12,303,912 ops/sec ±0.90% (82 runs sampled) concat#string-concat x 40,845,196 ops/sec ±0.83% (89 runs sampled) Fastest is concat#+
Das heißt, unter Chrome 46 ist die Verwendung des String-Verketters „“ viel effizienter.
Natürlich ist dies nur ein Test in der Chrome 46-Umgebung und repräsentiert nicht alle Browserplattformen.
Es gibt auch einen ähnlichen Leistungstest in jsPerf https://jsperf.com/concat-vs-...
Die Testergebnisse lauten wie folgt:
Es wird effizienter sein, Join in alten Browsern (IE7-) zu verwenden.
Versuchen Sie in modernen Browsern, „ “ für mehr Effizienz zu verwenden.
Natürlich ist „ “ in einigen modernen Browsern möglicherweise nicht schneller als Join (z. B. Safari 5.0.5, Opera 11.10).
selbst ist ein String-Array, Direct Join wird es sein schneller gut.
Zwischen „“ und concat wird natürlich die Verwendung von „“ bevorzugt, was praktisch, intuitiv und effizient ist.