Редактировать: Оказалось, что Firebug неправильно прошел по коду, а моя ошибка была в другом месте. Коллега, который видел подобное поведение, предположил, что регулярная очистка кэша браузера может помочь.
У меня есть простая функция, которая разбивает строку через запятую и использует токены для заполнения хранилища данных Dojo:
UpdateFileNames: function(names) {
var fileNames = names.split(",");
var fileNameData = [];
for (var i = 0; i < fileNames.length; i++) {
fileNameData.push({ name: fileNames[i], id: fileNames[i] });
}
this.fileListStore = new dojo.store.Memory({ data: fileNameData });
}
Я перебираю этот код в Firebug и не могу поверить в то, что вижу. Все довольны до i == fileNames.length
, после чего цикл вводится снова и fileNames[i]
недействителен.
Что здесь происходит?