关于array.item(n)和array [n]之间区别的简单问题?

时间:2009-08-08 05:41:22

标签: javascript

我有一个问题。 我最近在Dreamweaver中编写了一些javascript代码,并且每次我处理元素数组时它的代码都会完整,它会给我array.item(n)而不是array [n]

这两者有什么区别?

一些示例代码:

function hideAllSubMenu(){
    var submenu = document.getElementsByTagName("div");
    for(var i = 0; i < submenu.length; i++)
    {
        if(submenu.item(i).className == "submenu_wrap")
            submenu.item(i).style.display = "none";
    }
}

然而,它也可以用这样的方式写作

function hideAllSubMenu(){
    var submenu = document.getElementsByTagName("div");
    for(var i = 0; i < submenu.length; i++)
    {
        if(submenu.[i].className == "submenu_wrap")
            submenu.[i].style.display = "none";
    }
}

像我这样的人在学习核心javascript的第一步中有点困惑。 有人可以向我解释有什么不同吗

3 个答案:

答案 0 :(得分:4)

DOM 的某些节点列表中可以使用方法。
[]是数组访问器。

因此,在使用DOM进行操作时,您可以使用 item 。但不是普通阵列 一般来说,我建议总是使用[],因为它只适用于所有情况。

答案 1 :(得分:1)

我认为你的意思是submenu[i]在第二个例子中,项目(n)和[n]是同义词

答案 2 :(得分:1)

首先,Javascript中没有内置的任何内容,例如Array.item

document.getElementsByTagName返回一个nodelist对象,其外观和行为类似于数组,但它不是数组。但是,nodelist[i]nodelist.item(i)是等效的。