これはIEが悪いのかどうかわからないが、とりあえずメモ。
foreachのような挙動をするものとしてfor (var i in data)見たいな文がある。
が、これはforeachではない。らしい。
詳しくはこちら
http://d.hatena.ne.jp/amachang/20070202
for (var i in document.getElementsByTagName("script")) { alert(i); }
ここで期待したいのはforeachのようにiがキーになっていることだが、foreachじゃないので「length」が帰ってくる。
理由は、for in は配列を走査するのではなく、オブジェクトのプロパティを走査するからである。
しかし不思議なことにFireFoxでは期待したとおりに動く。多分プロパティを走査する順番が都合よく動いただけ・・・・・・かな?たぶん。
prototypeクラスとかがよくわからないので要学習。