Great write up. However I don't think most people need to care about the performance part. Going with what you find most maintainable and readable is much more important. I find it rare to traverse an array with thousands of items, and any sort of operation on the inside of the loop would probably eclipse any difference in the loop mechanics. Also the fastest iteration could change in future browser versions, depending on varying implementations - when running jsperf in different browsers I sometimes get 90% slower, and sometimes 20% slower, and identical performance in other test suites (benchmark.js). Now all that being said, I'm a sucker for micro optimization, and I love reading about it and trying out stuff. So thanks for a good post.