2 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
var 改成 let
for (let i = 0; i < arr.length; i++) {
setTimeout(function() {
console.log(arr[i]); // undefined?
$('.u1').append('<span class="anim zoomInRight">' + arr[i] + '</span>');
}, 100 * i);
}
或者
(function(i){
setTimeout(function() {
$('.u1').append('<span class="anim zoomInRight">' + arr[i] + '</span>');
}, 100 * i);
})(i);

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
首先,字符串可以for循環(huán)遍歷 不用轉(zhuǎn)成數(shù)組 其次,setTimeout是異步的 它內(nèi)部保存著對(duì)i的引用,在100毫秒后調(diào)用定時(shí)器時(shí),循環(huán)早已結(jié)束。函數(shù)執(zhí)行調(diào)用i時(shí),i的值為字符串的長度,arr[i]就是undefined??梢赃@樣修改:
(function(i){setTimeout(function() {
console.log(arr[i]); // undefined?
$('.u1').append('<span class="anim zoomInRight">' + arr[i] + '</span>');
}, 100 * i)})(i);
添加回答
舉報(bào)