我是 JS 新手,正在阅读有关 JS 数据类型的内容,这些数据类型将我指向这些页面上的Live NodeLists和Static NodeLists :为什么 getElementsByTagName() 比 querySelectorAll() 快?和HTMLCollections & NodeLists提到的页面使用非常相似的示例描述了它们的区别:
实时节点列表:
var divs = document.getElementsByTagName("div"),
i=0;
while(i < divs.length){
document.body.appendChild(document.createElement("div"));
i++;
}
静态节点列表:
var divs = document.querySelectorAll("div"),
i=0;
while(i < divs.length){
document.body.appendChild(document.createElement("div"));
i++;
}
我对这段特定的代码很感兴趣:
var divs = document.getElementsByTagName("div"),
i=0;
分别 这个:
var divs = document.querySelectorAll("div"),
i=0;
有人可以澄清一下这个建筑在做什么吗?或者问题可能应该是:这divs
之后变量的内容和类型是什么?我假设这是数组,所以我尝试了这个简约的 JS,在这里我添加了更多变量:
var divs = document.getElementsByTagName("div"),
j=5,
i=0;
alert(divs.length);
但是我添加了多少其他变量divs
以及document.getElementsByTagName
结果alert()
始终为1。然后我尝试通过打印它typeof()
并返回我这是对象。这里发生了什么,是一些特殊的 JS 语法糖还是什么?