Test name | Executions per second |
---|---|
childNodes foreach | 629319.8 Ops/sec |
children (direct) | 849352.2 Ops/sec |
children (into variable) | 2385627.5 Ops/sec |
children-- (direct) | 1382130.1 Ops/sec |
children-- (into variable) | 3051974.8 Ops/sec |
ChildNodes for (direct) | 446341.5 Ops/sec |
ChildNodes for (into variable) | 1631156.8 Ops/sec |
ChildNodes for-- (direct) | 758549.2 Ops/sec |
ChildNodes for-- (into variable) | 2075338.9 Ops/sec |
firstElementChild nextElementChild | 5528009.0 Ops/sec |
lastElementChild previousElementChild | 5510178.5 Ops/sec |
firstChild nextSibling | 4411911.0 Ops/sec |
lastChild previousSibling | 4426229.0 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 children = parent.children;
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];
}
let children = parent.children;
for (let i = children.length-1; i >= 0; i--) {
let n = children[i];
}
for (let i = 0; i < parent.childNodes.length; i++) {
let n = parent.childNodes[i];
}
let children = parent.childNodes;
for (let i = 0; i < children.length; i++) {
let n = 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.firstElementChild;
do {
let n = elem;
} while (elem = elem.nextElementSibling)
let elem = parent.lastElementChild;
do {
let n = elem;
} while (elem = elem.previousElementSibling)
let elem = parent.firstChild;
do {
let n = elem;
} while (elem = elem.nextSibling)
let elem = parent.lastChild;
do {
let n = elem;
} while (elem = elem.previousSibling)