大笨钟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标签的长度当然会一直执行咯,

    评论

报告相同问题?