


Discuter des problèmes de performances des compétences splicing_javascript du tableau de chaînes js
May 16, 2016 pm 04:34 PMNous savons qu'en js, la concaténation de chaînes est l'une des opérations les moins performantes.
Par exemple :
var text="Bonjour";
texte = "Monde!";
Les premiers navigateurs n'optimisaient pas cette opération.
Les chaînes étant immuables, cela signifie créer une chaîne intermédiaire pour stocker le résultat de la concaténation. La création et la destruction fréquentes de chaînes en arrière-plan entraînent des performances extrêmement faibles.
Par conséquent, les objets tableau peuvent être utilisés à des fins d'optimisation.
Par exemple :
var buffer=[],i=0; buffer[i++]="Hello"; //通过相应索引值添加元素比push方法快 buffer[i++]=" World!"; var text=buffer.join("");
Dans les premiers navigateurs, il n'y avait pas de création ni de destruction de chaînes intermédiaires. Dans le cas d'un grand nombre de concaténations de chaînes, cette technique s'est avérée beaucoup plus rapide que l'utilisation de l'addition.
De nos jours, l'optimisation des chaînes par le navigateur a changé la situation de la concaténation des chaînes. Safari, Opera, Chrome, Firefox et IE8 affichent tous de meilleures performances en utilisant l'opérateur d'addition. Cependant, les versions antérieures à IE8 n'étaient pas optimisées, la méthode tableau fonctionne donc toujours. Cela ne signifie pas que nous devons effectuer une détection du navigateur lors de la concaténation de chaînes. Les éléments à prendre en compte pour décider comment concaténer sont la taille et le nombre de chaînes.
Lorsque la chaîne est relativement petite (moins de 20 caractères) et que le nombre de connexions est également faible (moins de 1000), tous les navigateurs peuvent facilement établir la connexion en moins de 1 milliseconde à l'aide de l'opérateur d'addition. Les performances diminuent considérablement dans IE7 lorsque le nombre ou la taille des chaînes augmente. À mesure que la taille des chaînes augmente, la différence de performances entre les opérateurs d’addition et les techniques de composition de tableaux dans Firefox diminue. À mesure que le nombre de chaînes augmente, la différence de performances entre les opérateurs d’addition et les techniques de composition de tableaux dans Safari diminue. L'opérateur d'addition dans Chrome et Opera reste en avance lors de la modification du nombre ou de la taille des chaînes.
Par conséquent, en raison de performances incohérentes sous différents navigateurs, la technologie choisie dépend de la situation réelle et du navigateur auquel vous êtes confronté.
Dans la plupart des cas, l'opérateur d'addition est préféré ; si l'utilisateur utilise principalement IE6 ou 7 et que la taille de la chaîne est grande ou qu'il y en a plusieurs, alors la technique du tableau en vaut la peine.
De manière générale, s'il s'agit d'une chaîne sémantique, Array ne doit pas être utilisé, comme :
'Bonjour, je m'appelle 'nom;
Si la chaîne est une "répétition de situations similaires", il est recommandé d'utiliser Array, tel que :
var array = []; for (i = 0; i < length; i++) { array[i] = '<li>' + list[i] + '</li'>; } document.getElementById('somewhere').innerHTML = array.join('\n');
La comparaison des performances de la connexion au tableau de chaînes js est présentée ici. J'espère qu'elle sera utile à tout le monde.

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comparaison des performances de différents frameworks Java

Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes

Comment optimiser les performances des programmes multi-thread en C++ ?

Application de la fonction de regroupement de tableaux PHP dans le tri des données

Le rôle de la fonction de regroupement de tableaux PHP dans la recherche d'éléments en double

Comparaison des performances du C++ avec d'autres langages

Échange clé-valeur de tableau PHP : analyse des avantages et des inconvénients des algorithmes courants

Les tableaux peuvent-ils être utilisés comme paramètres de fonction ?
