为什么onmouseenter函数里面的i值为13?

        var spans = document.getElementsByTagName("span");

        var audios = document.getElementsByTagName("audio");


        for(var i = 0 ; i < spans.length ; i ++){

            spans[i].index = i;

            spans[i].onmouseenter = function(){

                //load保留之前的尾音,重新开始新的

                console.log(i);

                audios[this.index].load();

                audios[this.index].play();

            }

        }

页面上有12个span标签,for循环中spans.length的值为12。而这个函数里面的i值弹出的结果是12而不是0到11,为什么?

www说
浏览 489回答 1
1回答

慕运维8079593

参考一下吧左侧链接,就是异步回调的执行时机和作用域的问题。还有这个链接
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript