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的效率后,怎么编写代码也是非常重要的,否则应由的执行效率不能体现出来,就如上面从网上搜到的那些代码,得出一个与事实相悖的结论。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Auf dem aktuellen Smartphone-Markt kann man sagen, dass Prozessoren einer der Wettbewerbsschwerpunkte der großen Mobiltelefonhersteller sind. Als „Gehirn“ eines Mobiltelefons wirkt sich die Leistung des Prozessors direkt auf die Laufgeschwindigkeit, die Multitasking-Fähigkeiten und das Spielerlebnis des Mobiltelefons aus. Derzeit erregt der Kirin 8000-Prozessor als Ausstattung des Flaggschiff-Handys von Huawei große Aufmerksamkeit. Was sind also die Vor- und Nachteile gegenüber dem Snapdragon-Prozessor? Zunächst einmal wird der Kirin 8000-Prozessor im Hinblick auf die Leistung im neuesten TSMC-5-nm-Prozess hergestellt. Er verfügt über eine fortschrittlichere Prozesstechnologie und eine verbesserte Leistung.

Vergleichende Leistungsanalyse von vivoX100 und vivoX100Pro Da der Wettbewerb auf dem Smartphone-Markt immer härter wird, bringen große Marken weiterhin neue Produkte auf den Markt, um den Bedürfnissen der Verbraucher gerecht zu werden. Als bekannte Mobiltelefonmarke hat vivo in den letzten Jahren viele gut angenommene Produkte auf den Markt gebracht, darunter vivoX100 und vivoX100Pro mit Spannung erwartete neue Produkte. Was sind die Unterschiede zwischen den beiden Mobiltelefonen hinsichtlich Aussehen, Leistungsausstattung, Kamerafunktionen usw.? Heute vergleichen und analysieren wir vivoX100

Vergleichende Analyse von Apple-Prozessor und Snapdragon 8gen2 Mit der kontinuierlichen Weiterentwicklung mobiler Smart-Geräte hat der Prozessor als Kernkomponente der Geräteleistung schon immer große Aufmerksamkeit auf sich gezogen. Apple und Qualcomm waren schon immer führend im Bereich mobiler Prozessoren und brachten eigene Prozessorprodukte auf den Markt, nämlich Apple-Prozessoren und Snapdragon-Prozessoren. Unter ihnen sind Apple-Prozessoren für ihre starke Leistung und hervorragende Kontrolle des Stromverbrauchs bekannt, während Qualcomm-Snapdragon-Prozessoren aufgrund ihrer hervorragenden Kommunikationstechnologie und Vielseitigkeit die Gunst der Benutzer gewonnen haben. In diesem Artikel werden Apple-Prozessoren und Snapdragon 8g besprochen

Leistungsvergleich zwischen Dimensity 8200 und Snapdragon: Welches ist besser? Da der Smartphone-Markt in den letzten Jahren immer wettbewerbsintensiver geworden ist, haben auch große Chiphersteller ständig neue Modelle eingeführt, um größere Leistungsdurchbrüche zu erzielen. Unter ihnen gelten die Dimensity 8200-Serie von MediaTek und die Snapdragon-Serie von Qualcomm weithin als einer der herausragendsten Chips auf dem aktuellen Smartphone-Markt. Welches ist also zwischen Dimensity 8200 und Snapdragon besser? Heute vergleichen wir die Leistung dieser beiden Prozessoren, um das herauszufinden. Lassen Sie uns zunächst den Dimensity 820 verstehen

Zu Beginn dieses Jahres, als Microsoft und Canonical Windows 10 Bash und Ubuntu User Space veröffentlichten, habe ich versucht, einige vorläufige Leistungstests von Ubuntu unter Windows 10 im Vergleich zu nativem Ubuntu durchzuführen. Dieses Mal habe ich mehr über den Benchmark-Vergleich zwischen nativem Pure veröffentlicht Ubuntu und Windows 10. Der Linux-Subsystemtest für Windows hat alle Tests abgeschlossen und wurde mit dem Windows 10 Anniversary Update veröffentlicht. Der Standard-Ubuntu-Benutzerbereich ist immer noch Ubuntu14.04, kann aber auf 16.04 aktualisiert werden. Daher wird der Test zunächst am 14.04 getestet und nach Abschluss wird das System auf 16.04 aktualisiert

MySQL vs. MongoDB: Leistungsvergleich zweier Datenbanksysteme Mit der Entwicklung des Internets und dem kontinuierlichen Wachstum des Datenvolumens werden die Leistung und Skalierbarkeit von Datenbanken immer wichtiger. MySQL und MongoDB sind zwei häufig verwendete Datenbanksysteme. Sie weisen unterschiedliche Leistungen bei der Verarbeitung großer Datenmengen und hoher gleichzeitiger Anforderungen auf. In diesem Artikel wird die Leistung von MySQL und MongoDB verglichen und ihre Unterschiede anhand von Codebeispielen veranschaulicht. MySQL ist eine relationale Datenbank, die für ihre Stabilität und ausgereiften Funktionen bekannt ist

Im Zeitalter des mobilen Internets sind Smartphones zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden, und als einer der Kerne von Smartphones spielt die Wahl des Prozessors eine entscheidende Rolle für die Leistung des Telefons. Zu den bekanntesten Prozessorherstellern auf dem Markt gehören derzeit Qualcomm (Qualcomm), Huawei (HiSilicon) usw. Unter ihnen genießt der Snapdragon-Prozessor von Qualcomm seit jeher hohes Ansehen. Kürzlich hat Huawei seinen eigenen Kirin 8000-Prozessor herausgebracht, der viel Aufmerksamkeit erregt hat. Kann der Kirin 8000 also den Snapdragon-Prozessor schlagen? sein Geschlecht

Die offizielle Version von Win10, auf die sich alle freuen, wurde veröffentlicht. Studenten, die Win7 verwenden, müssen sich gefragt haben, ob sie ihr Computersystem auf Win10 aktualisieren sollen. Unterstützt es alle gängigen Softwareprogramme? Was ist besser, Win7 oder Win10? Was ist der Unterschied zwischen ihnen? Diesbezüglich gab der Herausgeber einige Antworten zum Vergleich zwischen Win10 und Win7. Microsoft hat das neueste Win10-System auf den Markt gebracht, und auch viele Computerbenutzer schenken Win10 große Aufmerksamkeit. Jeder fragt sich auch: Was ist der Unterschied zwischen Windows 10 und Win 7? Welches ist einfacher zu verwenden, Win7 oder Windows10? Das Win7-System ist stabil und sicher. Es ist derzeit das beliebteste Windo-System mit den meisten Benutzern.
