これまでに見たことのない深刻なバグがあります。まず第一に、私は単純な配列を持っています:
var myArray = ["123", "456", "789"]
次に、この配列を for..in ループで反復処理します。
function mapData(list) {
for ( var i in list) {
var item = list[i];
if (item) {
// do something
}
}
}
mapData(myArray) を使用してメソッドを呼び出した後、firebug はデバッガーに次のように表示します。
- ループ: i = 0; 項目 = 123;
- ループ: i = 1; 項目 = 456;
- ループ: i = 2; アイテム = 789;
- ループ: i = 比較;
- ループ: i = ユニオン;
- ループ: i = 削除;
- ループ: i = 選択;
- ループ: i = 含む;
それがプロトタイプ関数だと思います。しかし、なぜ?何か案は?
何度も言いますが、これは見たことがありません…