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,为什么?
跟js闭包作用域有关