yttrium: Хотя нет, замыкание в самой функции(в глобальной области) я не использовал, т.к. значение i не постоянное, тобишь как и должно быть, но беспорядочное
yttrium: Только что попробовал, все точно также. Использую такое же замыкание как и вы. В общем всё проходит так:
Есть ajax запрос на выборку массива новостей. В свойстве success{} - я объявляю цикл(пробовал и тот, и дугой). В этом цикле у меня идет всё, как вы описали в своем ответе. И в итоге все ведет в глобальную функцию. В ней я получаю i - alert(i), и оно беспорядочно.
Alexander Sydorenko: Так оно и есть) Возвращаю массив. Но дело в том, что когда я "обрабатываю" вернувшееся в JS, я использую цикл for(var i in data), где data - массив результата. А так как в функцию поступает беспорядочное значение i, соответственно и материал публикуется без порядка.
Alexander Sydorenko: Тогда что посоветуете в ajax запросе на выборку из БД MySQL, если нужно строго учесть порядок строк? То есть чтобы каждая строчка из БД вернулась под таким же индексом, как итерация цикла..
Кстати, оптимальней же будет такой вариант: for(var i = a.length-1; i != -1; i--)
Ведь в Вашем варианте в каждой итерации будет вызываться метод length, а в моем только 1 раз. Не так ли?