(四)类数组对象的动态性

- HTMLCollection、NodeList以及NamedNodeMap这三个集合都是“动态的”,是有生命,有呼吸的对象。

- 他们实际上是基于DOM结构执行查询的结果,因此DOM结构的变化能够自动反映这些对象中。

- 每当文档结构发生变化时,他们都会得到更新。因此,他们始终会保持着最新、最准确的信息。

我来看一下下面这段代码:

    var divs = document.getElementsByTagName("div");
    var i = 0;
    while(i < divs.length){
      document.body.appendChild(document.createElement("div"));
      i++;
    }

这会是一个死循环!

则是因为divs是通过getElementsByTagName()获取的htmlCollection集合,它是“动态”的。每次执行document.body.appendChild(div)时候,divs.length都会增加。

原文地址:https://www.cnblogs.com/hjbky/p/8431321.html