我有如下的JavaScript代码-

function initPage(){

    // Left Navigation Pane - moverOver effect:
    document.getElementById("imgHowToBuy").onmouseover = leftNavHoverIn;
    document.getElementById("imgNewAddition").onmouseover = leftNavHoverIn;
    document.getElementById("imgMostPopular").onmouseover = leftNavHoverIn;
    document.getElementById("imgOffer").onmouseover = leftNavHoverIn;
    document.getElementById("imgRecentlySold").onmouseover = leftNavHoverIn;
.....
}


基本上,我的代码可以正常工作(该函数被调用并执行精美)。但是我不认为我在这里使用最佳实践的原则。继续调用相同的函数看起来有些奇怪。我可以以某种方式将元素的id作为参数传递,然后执行函数,以便将整个事情简化为一行代码吗?

我是一个自学成才的JS家伙:D

谢谢!

最佳答案

您不是在“调用相同的函数”,而是只是将一个函数分配给页面上的许多元素。我在这里没有发现任何特别错误的地方。

您可以存储要将此函数分配给的所有元素的ID,这将减少代码行的数量,但是没有特定的原因。

var leftNavElements = ["imgHowToBuy","imgNewAddition"]; // etc....
for(var i=0;i<leftNavElements.length;i++){
    document.getElementById(leftNavElements[i]).onmouseover = leftNavHoverIn;
}

07-24 09:39
查看更多