为了账号安全,请及时绑定邮箱和手机立即绑定

请大家指点一下,为什么第一个for循环里定义的变量 i,在下面的function(){......}里面却无法访问 i变量,为什么呢,谢谢

http://img1.sycdn.imooc.com//5709219f0001ec2a04190368.jpg

为什么第一个for循环里定义的变量 i,在下面的function(){......}里面却无法访问 i变量

正在回答

3 回答

因为还没有触发点击事件的时候,i已经循环完毕,及i=len。所以不行咯。

0 回复 有任何疑惑可以回复我~
#1

深山小童

这也是为何要给每个li添加index属性,来识别触发的是第几个li,关联对应的div。
2016-04-10 回复 有任何疑惑可以回复我~
#2

菲尔活该 提问者

原来如此,所以其实在触发事件调用的函数里i是能够访问的,只是i=len,导致用lis[i]就没有实际效果了,太感谢你了
2016-04-10 回复 有任何疑惑可以回复我~
#3

深山小童 回复 菲尔活该 提问者

不客气,i是全局变量,任何地方都可以访问
2016-04-10 回复 有任何疑惑可以回复我~

我遇到和你一样的问题,但是用调试台就发现在运行for里面的function石 i已经变成了3.

0 回复 有任何疑惑可以回复我~

没太明白你的意思,能详细说一下吗。你是问为什么在第二个for循环中还要再定义一个变量吗

0 回复 有任何疑惑可以回复我~
#1

菲尔活该 提问者

换句话说就是 this.className="on";这里的this替换成 lis[i]就不行了......不明白为什么 i就不可以访问
2016-04-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请大家指点一下,为什么第一个for循环里定义的变量 i,在下面的function(){......}里面却无法访问 i变量,为什么呢,谢谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信