А также item и namedItem. Зачем это сделано? Зачем наставили палок в колеса?
var array = [1,2,3]
for (var key in array) {
alert(key + ' in array');
}
<body>
<script>
var nodeList = document.documentElement.childNodes;
for (var key in nodeList ) {
alert(key + ' in nodeList');
}
</script>
</body>
<body>
<script>
var collection = document.documentElement.children;
for (var key in collection) {
alert(key + ' in collection');
}
</script>
</body>