大佬们,这段代码为什么会让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
HEiz💕
定时器任务会被扔到一个空闲队列 完成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