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.