for (key in array) {You might recognize this as essentially the equivalent of the foreach loop in php and other languages. It's a very useful structure when dealing with associative arrays, or just to save yourself some typing. But along with obscure functionality sometimes "quirks" from time to time. Notably, as usual, in Internet Explorer.
var element = array[key];
...
}
While at work today I was looping through some form elements, in the event the page the script would run on had multiple forms. Though my test page only had a single form element in it, IE gave me multiple additional elements, such as the letter p, and the number 13...
Worse still, it did the same for the form.elements array within an inner loop. I did some investigation and found that this is a bug in IE, and has been around for a while now.
So thank you IE8, for showing us yet again that as far as you've come, you're still the bottom of the proverbial browser barrel.
Also, thank you Doug for also writing a post on this issue... albeit over 3 years ago :P I just felt I should share the fact that this is still very much an issue which IE has, even in its most recent version.