I\'m a big fan of using the forEach method on nodeLists like this:
var nodes = document.querySelectorAll(\".foo\");
[].forEach.call(nodes, function (item) {
I know it's an old post but using the forEach method can be done by stealing the Array prototype as well.
NodeList.prototype.forEach = Array.prototype.forEach;
It depends on the browser. And don't forget about while() which is the fastest on Firefox 4. Here's a comparison.
Also keep in mind that if you're supporting older browsers that don't support forEach, you need to add in the time it takes to implement a polyfill.
Here's a nice performance comparison. According to it Array.forEach
is slower than a native for
loop.