js中的动态集合-nodeList,HTMLCollection,nameNodeMap

动态集合是指dom结构的变化能够自动的反应到所保存的对象中

nodeList:成员是节点对象

1 .他的实例对象是一个类数组对象,他的成员是节点对象,包括childNodes和querySelectorAll()方法的返回值。
2 .querySelectorAll()返回的是静态集合NodeStaticList
3 .nodeList并不是真正的数组对象,可以使用slice()方法将其变成真正的数组。

HTMLCollection:前面那个是node节点的集合,而这个是Element元素节点的集合,node节点有12种,这个只是其中的一种。

1 .getElementByTagName(),getElementByClassName(),getElementByName(),children,document.links,document.forms等元素。
2 .所有的HTMLCollection对象都是动态的。
3 .要想变成真正的数组,必须使用slice()方法,在ie8中,必须手动枚举所有成员。

NamedNodeMap:该对象常见的实例对象是attributes属性。

1 .该对象也是一个动态集合。

注意

1 .动态集合是个很实用的概念,但是在使用的时候必须小心,可能会因为忽略集合的动态性,造成死循环。

你可能感兴趣的:(js中的动态集合-nodeList,HTMLCollection,nameNodeMap)