JavaScript

あるformタグがあったとする。
次に示す二つのコードは等価でしょうか?

var cn=0;
for(var i in form.elements){
	cn++;
}
alert(cn);
alert(form.elements.length);

答えは、等価ではない。
しかも前者は、IEFirefoxでそれぞれ違った答えが得られるはずだ。
JavaScriptのfor( - in - )には謎が多い。