我可以在javascript中将for循环迭代器用作数组索引吗?

我可以在javascript中将for循环迭代器用作数组索引吗?,javascript,loops,for-loop,Javascript,Loops,For Loop,Javascript For循环在使用迭代器(i)作为数组索引时不起作用 boxes = document.getElementsByClassName("menoe"); imgs = document.getElementsByClassName("course_image"); butns = document.getElementsByClassName("continue_learning"); function meraj (imgs, butns, i) { imgs[i].s

Javascript For循环在使用迭代器(i)作为数组索引时不起作用

boxes = document.getElementsByClassName("menoe");
imgs = document.getElementsByClassName("course_image");
butns = document.getElementsByClassName("continue_learning");
function meraj (imgs, butns, i) {
  imgs[i].style.opacity = "0.1";
  butns[i].style.visibility = "visible";
}
function merajo (imgs, butns, i) {
  imgs[i].style.opacity = "1";
  butns[i].style.visibility = "hidden";
}
for (i = 0; i < boxes.length; i++) {
  boxes[i].addEventListener("mouseover", meraj(imgs, butns, i));
  boxes[i].addEventListener("mouseout", merajo(imgs, butns, i));
}
box=document.getElementsByClassName(“menoe”);
imgs=document.getElementsByClassName(“课程图像”);
butns=document.getElementsByClassName(“继续学习”);
功能meraj(imgs、butns、i){
imgs[i].style.opacity=“0.1”;
但是[i].style.visibility=“visible”;
}
功能merajo(imgs、butns、i){
imgs[i].style.opacity=“1”;
但是[i].style.visibility=“hidden”;
}
对于(i=0;i
我已经解决了这个问题,这是最终的解决方案:

meraj = function meraj (imgs, butns, i) {
  imgs[i].style.opacity = "0.1";
  butns[i].style.visibility = "visible";
}
merajo = function merajo (imgs, butns, i) {
  imgs[i].style.opacity = "1";
  butns[i].style.visibility = "hidden";
}
function addListenerWithArgs(elem, evt, func, var1, var2, var3){
  var f = function(ff, v1, v2, v3){
    return (function (){
      ff(v1, v2, v3);
    });
  }(func, var1, var2, var3);
  elem.addEventListener(evt, f);
  return f;
}
for (i = 0; i < boxes.length; i++) {
  var storeFunc = addListenerWithArgs(boxes[i], "mouseover", meraj, imgs, butns, i);
  var storeFunc = addListenerWithArgs(boxes[i], "mouseout", merajo, imgs, butns, i);
}
meraj=函数meraj(imgs,butns,i){
imgs[i].style.opacity=“0.1”;
但是[i].style.visibility=“visible”;
}
merajo=功能merajo(imgs、butns、i){
imgs[i].style.opacity=“1”;
但是[i].style.visibility=“hidden”;
}
函数addListenerWithArgs(elem、evt、func、var1、var2、var3){
var f=功能(ff、v1、v2、v3){
返回(函数(){
ff(v1,v2,v3);
});
}(func,var1,var2,var3);
元素添加列表器(evt,f);
返回f;
}
对于(i=0;i
document.getElementsByClassName(“menoe”)返回多个元素?游标作为数组索引?看起来您正在使用“i”作为索引。同样,如果不工作,您会遇到什么问题?是的,它返回许多元素,我已经检查过了,它甚至在第一个元素上都不工作one@Spanglei是for循环中的游标,也作为参数传递给循环中的函数。它不会在控制台中给出任何未定义或类似于smth的错误,只是不工作添加
console.log(box.length)
并检查日志是否超过1