Heim  >  Artikel  >  Web-Frontend  >  [JS Operation Performance Series] Methoden zum Spleißen von Zeichenfolgen und Leistungsvergleich

[JS Operation Performance Series] Methoden zum Spleißen von Zeichenfolgen und Leistungsvergleich

高洛峰
高洛峰Original
2016-11-15 14:09:451308Durchsuche

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:

[JS Operation Performance Series] Methoden zum Spleißen von Zeichenfolgen und Leistungsvergleich

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.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn