Heim Web-Frontend js-Tutorial Javascript createElement和innerHTML增加页面元素的性能对比_javascript技巧

Javascript createElement和innerHTML增加页面元素的性能对比_javascript技巧

May 16, 2016 pm 06:46 PM
性能对比

最近遇到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="
test
";
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="
test
";
container.innerHTML += str;
}

其中有很多字符串操作,而且除了使用+号来连接字符串外,还使用了+=操作符,这就是问题的所在了,在javascript中这种操作字符串的做法是严重影响效率的,所以使用上面的方法来测试createEmenent和innerHTML的效率对innerHTML是不公平的, 据此看来很可能是字符串操作吃掉了innerHTML的性能,于是写了下面的测试代码:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

经测试发现:
1、在创建的对象较少(0-大约10左右)时,innerHTML和createElement效率差不多,测试值悠忽不定;
2、在创建对象多于20时,innerHTML要比createElement效率高很多,平均测试差不多createElement耗时是innerHTML的两倍。
总结:其实效率也在于编写的代码,在知道可用的API的效率后,怎么编写代码也是非常重要的,否则应由的执行效率不能体现出来,就如上面从网上搜到的那些代码,得出一个与事实相悖的结论。
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Leistungsvergleich des Kirin 8000-Prozessors: Konkurriert mit dem Snapdragon-Prozessor Leistungsvergleich des Kirin 8000-Prozessors: Konkurriert mit dem Snapdragon-Prozessor Mar 23, 2024 pm 01:36 PM

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 Analyse der Leistung von vivox100 und vivox100pro Vergleichende Analyse der Leistung von vivox100 und vivox100pro Mar 18, 2024 pm 10:12 PM

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

Mar 18, 2024 pm 04:45 PM

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

Mar 18, 2024 pm 04:27 PM

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

Leistungsvergleich von Ubuntu Bash: Ubuntu vs. Win10 Anniversary Edition Leistungsvergleich von Ubuntu Bash: Ubuntu vs. Win10 Anniversary Edition Jan 04, 2024 pm 09:36 PM

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 MySQL vs. MongoDB: Leistungsvergleich zweier Datenbanksysteme Jul 16, 2023 am 08:45 AM

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

Kann der Kirin 8000 den Snapdragon-Prozessor schlagen? Leistungsvergleich enthüllt Kann der Kirin 8000 den Snapdragon-Prozessor schlagen? Leistungsvergleich enthüllt Mar 24, 2024 pm 09:09 PM

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

Vergleich der Einfachheit der Systemfreigabe zwischen den Versionen Windows 10 und Windows 7 Vergleich der Einfachheit der Systemfreigabe zwischen den Versionen Windows 10 und Windows 7 Jan 12, 2024 pm 04:39 PM

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.

See all articles