大佬们,这段代码为什么会让innerHTML没定义啊,不是i
前端吧
全部回复
仅看楼主
level 6
大佬们,这段代码为什么会让innerHTML没定义啊,不是i到3就退出循环了吗,老师讲的是i会到4使得lis【4】.innerHTML没定义出错。ps:body内容是一个ul里面4个li。这段代码是为了实现3秒后打印所有li元素的内容
2020年09月14日 13点09分 1
level 5
console里面的i是全局的,退出循环的时候i的值比li的个数多1,因为最后多了i++。上面那里不应该是.length-1嘛[不高兴]然后你想不让innerhtml未定义的话,要么var改成let要么闭包
2020年09月14日 13点09分 2
level 4
定时器任务会被扔到一个空闲队列 完成for循环才会运行
2020年09月14日 14点09分 3
感谢
2020年09月14日 15点09分
level 6
懂了懂了,我太**了,i最后会加到4不满足条件而退出循环,但3秒后定时器启动里面的i就是4
2020年09月14日 15点09分 4
level 9
把i以参数形式传入下面那个方法
2020年09月15日 00点09分 6
level 4
把for循环的length-1就行了呗
2020年09月15日 01点09分 7
那样只会打印lis【3】的内容而不是全部
2020年09月15日 01点09分
@º李图报🍦 那就把你的var改成let或者const
2020年09月15日 01点09分
@纯色晴璟 还没学let和const,不过已经用闭包解决了 谢谢哈
2020年09月15日 01点09分
1