Javascript createElement和innerHTML增加页面元素的性能对比_javascript技巧
最近遇到js的效率问题,是关于在页面中新增元素的问题。
假设我们有页面如下:
<script> <BR>// 脚本位置 <BR></script>
现在,我们要往div1中添加对象,大家都知道在为web页面增加一个元素时可以使用如下代码:
//方法1
div1.innerHTML = '测试';
或者:
//方法2
var a = document.createElement('a');
a.innertText = '测试';
div1.appendChild(a);
在网上搜索到一个探讨js效率问题的文章,其大概意思是说方法2的效率高,其对比代码如下:
// 方法1
function init(){
var staDate = new Date();
var doc = window.document;
for(var i=0;ivar str="
container.innerHTML += str;
}
alert(new Date - staDate);
}
//方法2
function init(){
var staDate = new Date();
var doc = window.document;
for(var i=0;ivar oDiv = doc.createElement("div");
var oText = doc.createTextNode("text");
oDiv.appendChild(oText);
container.appendChild(oDiv);
oDiv.style.id = "div_"+i;
oDiv.style.width = "100px";
oDiv.style.height = "20px";
oDiv.style.backgroundColor = "#eee";
}
alert(new Date - staDate);
}
其页面中有:
从执行效果来看方案2要比方案1快10倍左右,到底这是不是真的呢?其实上面的测试代码是有待商榷的,且看其方法1中的循环代码:
for(var i=0;ivar str="
container.innerHTML += str;
}
其中有很多字符串操作,而且除了使用+号来连接字符串外,还使用了+=操作符,这就是问题的所在了,在javascript中这种操作字符串的做法是严重影响效率的,所以使用上面的方法来测试createEmenent和innerHTML的效率对innerHTML是不公平的, 据此看来很可能是字符串操作吃掉了innerHTML的性能,于是写了下面的测试代码:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
经测试发现:
1、在创建的对象较少(0-大约10左右)时,innerHTML和createElement效率差不多,测试值悠忽不定;
2、在创建对象多于20时,innerHTML要比createElement效率高很多,平均测试差不多createElement耗时是innerHTML的两倍。
总结:其实效率也在于编写的代码,在知道可用的API的效率后,怎么编写代码也是非常重要的,否则应由的执行效率不能体现出来,就如上面从网上搜到的那些代码,得出一个与事实相悖的结论。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

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



Sur le marché actuel des smartphones, les processeurs peuvent être considérés comme l'un des points de concurrence pour les principaux fabricants de téléphones mobiles. En tant que « cerveau » d'un téléphone mobile, les performances du processeur affectent directement la vitesse de fonctionnement, les capacités multitâches et l'expérience de jeu du téléphone mobile. À l'heure actuelle, le processeur Kirin 8000, en tant qu'équipement du téléphone mobile phare de Huawei, a attiré beaucoup d'attention. Alors, quels sont ses avantages et ses inconvénients par rapport au processeur Snapdragon ? Tout d'abord, du point de vue des performances, le processeur Kirin 8000 est fabriqué à l'aide du dernier processus TSMC 5 nm. Il dispose d'une technologie de processus plus avancée et de performances améliorées.

Analyse comparative des performances des vivoX100 et vivoX100Pro Alors que la concurrence sur le marché des smartphones devient de plus en plus féroce, les grandes marques continuent de lancer de nouveaux produits pour répondre aux besoins des consommateurs. En tant que marque de téléphonie mobile bien connue, vivo a lancé de nombreux produits bien accueillis ces dernières années, parmi lesquels vivoX100 et vivoX100Pro sont de nouveaux produits très attendus. Quelles sont les différences entre les deux téléphones mobiles en termes de conception d'apparence, de configuration des performances, de fonctions de l'appareil photo, etc. ? Aujourd'hui, nous allons comparer et analyser le vivoX100

Analyse comparative du processeur Apple et du Snapdragon 8gen2 Avec le développement continu des appareils mobiles intelligents, le processeur, en tant que composant essentiel des performances de l'appareil, a toujours attiré beaucoup d'attention. Apple et Qualcomm ont toujours été leaders dans le domaine des processeurs mobiles, lançant leurs propres processeurs, à savoir les processeurs Apple et les processeurs Snapdragon. Parmi eux, les processeurs Apple sont connus pour leurs performances puissantes et leur excellent contrôle de la consommation d'énergie, tandis que les processeurs Qualcomm Snapdragon ont gagné la faveur des utilisateurs pour leur excellente technologie de communication et leur polyvalence. Cet article passera en revue les processeurs Apple et Snapdragon 8g

Au début de cette année, lorsque Microsoft et Canonical ont publié l'espace utilisateur Windows 10 Bash et Ubuntu, j'ai essayé de faire quelques tests de performances préliminaires sur Ubuntu sous Windows 10 par rapport à Ubuntu natif. Cette fois, j'ai publié davantage sur la comparaison de référence entre les natifs purs. Ubuntu et Windows 10. Le test du sous-système Linux pour Windows a terminé tous les tests et a été publié avec la mise à jour anniversaire de Windows 10. L'espace utilisateur Ubuntu par défaut est toujours Ubuntu14.04, mais il peut être mis à niveau vers 16.04. Ainsi, le test est d'abord testé le 14.04, et une fois terminé, le système sera mis à niveau vers la version 16.04.

Comparaison des performances entre Dimensity 8200 et Snapdragon : lequel est le meilleur ? Ces dernières années, alors que le marché des smartphones est devenu de plus en plus compétitif, les principaux fabricants de puces en ont également constamment introduit de nouvelles, s'efforçant de réaliser de plus grandes avancées en termes de performances. Parmi elles, la série Dimensity 8200 de MediaTek et la série Snapdragon de Qualcomm sont largement considérées comme l'une des puces les plus remarquables du marché actuel des smartphones. Alors, entre Dimensity 8200 et Snapdragon, lequel est le meilleur ? Aujourd'hui, nous allons comparer les performances de ces deux processeurs pour le savoir. Tout d’abord, comprenons d’abord le Dimensity 820

La version officielle de Win10 que tout le monde attend avec impatience a été publiée. Pour les étudiants qui utilisent Win7, ils doivent avoir du mal à mettre à niveau leur système informatique vers Win10. La mise à niveau sera-t-elle meilleure que le système Win7 ? Est-il compatible avec tous les logiciels couramment utilisés ? Lequel est le meilleur, win7 ou win10 ? Quelle est la différence entre eux ? À cet égard, l'éditeur a donné quelques réponses à la comparaison entre win10 et win7. Microsoft a lancé le dernier système Win10 et de nombreux utilisateurs d'ordinateurs accordent également une attention particulière à Win10. Tout le monde se demande également quelle est la différence entre Windows 10 et Win 7 ? Lequel est le plus facile à utiliser, Win7 ou Windows10 ? Le système Win7 est stable et sécurisé. Il s'agit actuellement du système Windo le plus populaire avec le plus grand nombre d'utilisateurs.

MySQL vs MongoDB : comparaison des performances de deux systèmes de bases de données Avec le développement d'Internet et la croissance continue du volume de données, les performances et l'évolutivité des bases de données sont devenues de plus en plus importantes. MySQL et MongoDB sont deux systèmes de bases de données couramment utilisés. Ils ont des performances différentes lors du traitement de gros volumes de données et de requêtes simultanées élevées. Cet article comparera les performances de MySQL et MongoDB et illustrera leurs différences à travers des exemples de code. MySQL est une base de données relationnelle connue pour sa stabilité et ses fonctionnalités matures

Des tests de référence faisant autorité montrent qu'Echo, Gin, Fasthttp, Iris et Buffalo sont les frameworks Go les plus performants. Le point de terminaison EchoAPI a le temps de réponse le plus rapide, suivi de GinWebUI, et le temps de réponse des tâches planifiées Fasthttp est le plus court. Les meilleures pratiques incluent l'utilisation de la mise en cache, du mode simultané et de l'optimisation du code.
