大笨钟2 2016-07-26 02:52 采纳率: 0%
浏览 779
已结题

大神帮我解析下这段javascript代码吧,很简短的代码



<script>
        var imgs = document.getElementsByTagName('img');
        for (var i = 0, len = imgs.length; i < len; i++) {
            imgs[i].index = i;
            imgs[i].onmouseover = function(){
               // console.log(i);
                console.log(this.index);
}
}
</script>

假如HTML页面有8个IMG标签的话,我的理解是脚本先执行循环不是吗?循环次数也只有8次, 但是 为什么实际的执行结果却是 只要触发循环内的事件 就可以一直执行触发事件既定的语句并且能够准确的找到所触发标签的下标呢。这段代码到底是怎么个执行逻辑呢?

  • 写回答

6条回答 默认 最新

  • qq_28044867 2016-07-26 02:58
    关注

    获取到名字为img的标签
    len = imgs的长度,如果i<len 等话执行循环
    把i赋值给imgs下标为i的位置
    并设置一个鼠标移出事件在console打印这个下表
    你获取的是img标签的长度当然会一直执行咯,

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况