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

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

高洛峰
Freigeben: 2016-11-15 14:09:45
Original
1312 Leute haben es durchsucht

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;
};
Nach dem Login kopieren

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();
};
Nach dem Login kopieren

Methode 3: Verwenden Sie die Verkettung von die Zeichenfolge Funktion

var concat3 = function(str1, str2){
    return str1.concat(str2);
};
Nach dem Login kopieren

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#+
Nach dem Login kopieren

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.


Verwandte Etiketten:
js
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage