我有一個數組,我想使用jquery隊列和打印功能打印出來:混淆關於jQuery的隊列和出隊
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
,爲什麼發生這種情況怎麼可以?打印就像數組順序?
第二個問題是,當我試圖改變for
環寫作的方式,如:
for (var i = 0; i < arr.length; i++) {
//...
}
所有打印信息將會undefined
。兩種寫作方式有什麼區別?它總是一樣的,不是嗎?
以下是演示:http://jsfiddle.net/hh54188/L8ExM/
爲什麼你需要在這裏使用'queue'?它對排隊動畫非常有用。對於通過數組或對象元素的簡單迭代,最簡單的方法就是使用簡單的for循環。 – VisioN
@VisioN原因不相關,是嗎?他可能試圖理解這個概念。 – freakish
@freakish fwiw,這個概念不太適用。 – VisioN