Test name | Executions per second |
---|---|
childNodes foreach | 1083792.8 Ops/sec |
children (direct) | 1607354.4 Ops/sec |
children (into variable) | 5319859.0 Ops/sec |
children-- (direct) | 2766141.5 Ops/sec |
children-- (into variable) | 6637277.0 Ops/sec |
ChildNodes for (direct) | 849569.4 Ops/sec |
ChildNodes for (into variable) | 3568481.2 Ops/sec |
ChildNodes for-- (direct) | 1465198.0 Ops/sec |
ChildNodes for-- (into variable) | 4452523.0 Ops/sec |
firstElementChild nextElementChild | 10342921.0 Ops/sec |
lastElementChild previousElementChild | 10279840.0 Ops/sec |
firstChild nextSibling | 7742277.0 Ops/sec |
lastChild previousSibling | 7698026.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 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)