这里for循环语句放置的位置我有疑问

这里for循环语句放置的位置我有疑问

老师好,这里for循环为什么放在了addhandler之外?我的意思是说,当for循环执行了第一次时候,只有menuItems的第一项menuItems[0]被赋予了一个自定属性,值为0,而此时鼠标移动到了第二个栏目时候,idx不就读不出menuItems[1]的值了,因为循环只执行了一次。我这样理解没错吧,我想说的老师写的是正确的,但是逻辑上到底要怎么才解释的通呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,课程中是没有问题的,for循环中调用addHandler方法,给每个元素赋予了新属性,也给每一个元素绑定点击事件。否则就需要写多个addHandler方法给每个元素绑定事件了,很复杂。

要明白的是for循环会先执行完毕,新属性以及事件都会绑定上,需要的时候触发就可以了。自己可以再测试理解下。

如果还是疑问的话,建议描述具体一些,便于帮助解决。

祝学习愉快!

好帮手慕星星 2020-04-13 11:42:41

同学你好,理解的有点问题。

for循环会先执行完毕,给每一项都添加上了自定义属性,每一项都绑定上了移入事件。可以这样理解

http://img1.sycdn.imooc.com//climg/5e93df630959c96808630239.jpg

http://img1.sycdn.imooc.com//climg/5e93dfa40971ad9f09070434.jpg

所以剩下的只需要移入触发事件就好。

自己再测试理解下,祝学习愉快!

  • 提问者 慕雪9296518 #1
    所以说啊addhandler不应该放在for循环外面等menuItems每一项都被赋予新属性再进行判断才对不是吗?这里放在了for循环之内,肯定会混淆啊
    2020-04-13 21:08:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师