Wir wissen, dass in JS eine String -Verkettung eines der niedrigsten leistungsfähigen Operationen ist.
Zum Beispiel:
Die Codekopie lautet wie folgt:
var text = "Hallo";
Text+= "Welt!";
Frühe Browser haben diesen Vorgang nicht optimiert.
Da Zeichenfolgen unveränderlich sind, bedeutet dies, Zwischenzeichenfolgen zu erstellen, um die Ergebnisse der Verbindung zu speichern. Die Leistung der Einschränkung ist häufig extrem schlecht.
Daher kann die Optimierung mit Array -Objekten durchgeführt werden.
Zum Beispiel:
var buffer = [], i = 0; Buffer [i ++] = "Hallo"; // Elemente durch den entsprechenden Indexwert hinzuzufügen, ist schneller als Push -Methodenpuffer [i ++] = "World!"; var text = buffer.join ("");In frühen Browsern wurden keine Zwischenzeichenfolgen erstellt und zerstört, und bei einer großen Anzahl von String -Verkettungen hat sich diese Technik als weitaus schneller erwiesen als die Verwendung von Additionsmethoden.
Heutzutage hat die Browser -Optimierung von Strings die Situation der String -Verbindung verändert. Safari, Oper, Chrom, Firefox und IE8 zeigen bei der Verwendung von Additionsbetreibern eine bessere Leistung. Versionen vor IE8 wurden jedoch nicht optimiert, sodass die Array -Methode immer noch gültig ist. Dies bedeutet nicht, dass wir, wenn Saiten angeschlossen sind, die Browsererkennung durchführen müssen. Was Sie bei der Entscheidung über die Verbindung und die Anzahl der Zeichenfolgen berücksichtigen müssen.
Wenn die Saite relativ klein ist (weniger als 20 Zeichen) und die Anzahl der Verbindungen klein (weniger als 1000), können alle Browser mit dem Additionsbetreiber leicht Verbindungen in weniger als 1 Millisekundenverbot vervollständigen. Wenn die Anzahl oder Größe der Zeichenfolgen erhöht wird, wird die Leistung in IE7 erheblich reduziert. Wenn die Saitengröße zunimmt, wird der Leistungsunterschied zwischen Additionsoperatoren und Komponententechniken in Firefox kleiner. Mit zunehmender Anzahl der Zeichenfolgen werden die Leistungsunterschiede zwischen Additionsbetreibern und Komponententechniken in Safari geringer. Additivbetreiber in Chrome und Opera haben bei der Änderung der Anzahl oder Größe der Zeichenfolgen immer einen Vorsprung beibehalten.
Aufgrund der inkonsistenten Leistung jedes Browsers hängt die technologische Auswahl von der tatsächlichen Situation und dem Browser ab, mit dem Sie konfrontiert sind.
In den meisten Fällen werden Additionsbetreiber bevorzugt. Die Array -Technologie lohnt sich, wenn Benutzer hauptsächlich IE6 oder 7 verwenden und über große Saitengrößen oder große Zahlen verfügen.
Wenn es sich um eine semantische Saite handelt, sollte Array im Allgemeinen nicht verwendet werden, wie z. B.:
'Hallo, mein Name ist' + Name;
Wenn es sich bei der Zeichenfolge um eine "Wiederholung ähnlicher Situationen" handelt, wird empfohlen, Array zu verwenden, z. B.:
var array = []; für (i = 0; i <Länge; i ++) {Array [i] = '<li>' + list [i] + '</li'>; } document.getElementById ('irgendwo'). InnerHtml = array.join ('/n');Das ist alles für den Leistungsvergleich von JS String Array -Verbindungen. Ich hoffe, es wird für alle hilfreich sein.