为什么我们使用for循环将方法添加到对象Array

时间:2013-09-28 03:35:31

标签: javascript arrays function for-loop

我在很多JavaScript书籍中看到,当我们获得for个对象并对其执行某些操作时,会使用Array循环

function()  
  {  
    var links = document.getElementsByTagName("a");  

    for (var i = 0, ii = links.length; i < ii; i++)  
    {  
      links[i].addEventListener("event", eventListener, false);  
    }  
}

好吧,我的问题是为什么我们使用for循环我的意思是为什么我们不直接在Array上做一些事情。就像下面的代码一样

function()  
  {  
    var links = document.getElementsByTagName("a");

    links.addEventListener("event", eventListener, false);  
}

抱歉我的英文。

2 个答案:

答案 0 :(得分:1)

因为那时你将事件监听器添加到数组对象而不是将其添加到每个元素

答案 1 :(得分:0)

因为document.getElementsByTagName()返回一个nodeList对象而该对象不包含方法.addEventListener()所以你所建议的将导致脚本错误。

您需要的是能够在nodeList中为每个DOM对象添加事件侦听器。您可以使用for循环自行迭代nodeList,也可以创建自己的函数/方法。