Test name | Executions per second |
---|---|
childNodes foreach | 936924.1 Ops/sec |
children (direct) | 1444843.0 Ops/sec |
firstChild nextSibling | 6883433.5 Ops/sec |
firstElementChild nextElementChild | 9667050.0 Ops/sec |
ChildNodes for (into variable) | 2817765.2 Ops/sec |
children-- (direct) | 2416916.5 Ops/sec |
ChildNodes for-- (into variable) | 1331863.5 Ops/sec |
ChildNodes for-- (direct) | 3364072.0 Ops/sec |
lastElementChild previousElementChild | 9842336.0 Ops/sec |
children-- (into variable) | 5214360.5 Ops/sec |
<html>
<body>
<div id='test'>
<div name='a'></div>
<div name='b'></div>
<div name='c'></div>
</div>
</body>
</html>
var parent = document.getElementById('test');
parent.childNodes.forEach(function (node) {
let n = node;
});
for (let i = 0; i < parent.children.length; i++) {
let n = parent.children[i];
}
let elem = parent.firstChild;
do {
let n = elem;
} while (elem = elem.nextSibling)
let elem = parent.firstElementChild;
do {
let n = elem;
} while (elem = elem.nextElementSibling)
let children = parent.childNodes;
for (let i = 0; i < children.length; i++) {
let n = children[i];
}
for (let i = parent.children.length-1; i >= 0; i--) {
let n = parent.children[i];
}
for (let i = parent.childNodes.length-1; i >= 0; i--) {
let n = parent.childNodes[i];
}
let children = parent.childNodes;
for (let i = children.length-1; i >= 0; i--) {
let n = children[i];
}
let elem = parent.lastElementChild;
do {
let n = elem;
} while (elem = elem.previousElementSibling)
let children = parent.children
for (let i = children.length-1; i >= 0; i--) {
let n = children[i];
}