JavaScript请解释一下这个语法

标签 javascript sql data-structures types syntactic-sugar

我是 JS 新手,正在阅读有关 JS 数据类型的内容,这让我找到了这些页面上的 Live NodeListsStatic NodeLists:Why is getElementsByTagName() faster than 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 vhere,我添加了更多变量:

var divs = document.getElementsByTagName("div"), 
    j=5,   
    i=0;
alert(divs.length);

但无论我向 div 添加了多少其他变量以及 document.getElementsByTagNamealert() 的结果始终为 1 .然后我尝试通过 typeof() 打印它,它返回我这是对象。这是怎么回事,是一些特殊的JS语法糖还是什么?

最佳答案

var divs = document.getElementsByTagName("div"),
i=0;

相同
var divs = document.getElementsByTagName("div");
var i=0;

您可以通过使用逗号分隔的列表,使用单个 var 声明多个变量。

关于JavaScript请解释一下这个语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19840340/

相关文章:

java - 在小于 O(n) 的时间内获得数据结构中元素之间的最小差异

javascript - loopback Find() "where"子句未返回预期结果

sql - 排序时间戳日期的两个 sql

mysql - 使用自定义配置文件字段的 SQL Moodle

c - 这行代码在C编程中有什么作用呢?

algorithm - 数据结构小题

javascript 动画在 html 页面中工作,但相同的脚本在 .net 页面中不起作用

javascript - 通过 LAN 连接系统之间的数据共享使网站离线工作

javascript - 处理异步函数

MYSQL存储过程删除