У меня есть массив, я хочу использовать очереди Jquery и функцию печати, чтобы распечатать их:Confuse о очереди Jquery и DEQUEUE
var show = function (el) { //print function
console.log('el', el);
}
var arr = ["a", "b", "c", "d", "e"];
var que = $({});
for (var i in arr) {
que.queue('custom', function (next) {
show(arr[i]);
next();
})
}
que.dequeue('custom');
но вся информация печати e
, почему это произошло как можно? print как порядок массива?
Второй вопрос: когда я пытаюсь изменить способ написания for
петли, как:
for (var i = 0; i < arr.length; i++) {
//...
}
Вся информация печать будет undefined
. Есть ли разница между двумя способами записи? Это всегда так же, не так ли?
Вот демо: http://jsfiddle.net/hh54188/L8ExM/
Зачем вам нужно использовать 'queue' здесь? Это в основном полезно для анимации очередей. Для простой итерации через элементы массива или объекта самый быстрый и простой способ - использовать простой цикл 'for'. – VisioN
@VisioN Причина не имеет значения, не так ли? Возможно, он пытается понять концепцию. – freakish
@ freakish fwiw, концепция, которая не очень хороша для применения. – VisioN