为什么我在javascript中使用不同的`for loop`会得到不同的结果?

时间:2017-10-09 14:32:08

标签: javascript

我在js中有关于for loop的问题,以下是示例:

在这部分中,childobject(我想要的)。

for (var i = 0; i < element.childNodes.length; i++) {
        var child = element.childNodes[i];
        console.log(typeof(child));
}

但是当更改代码时,child变为String,值0, 1, 2 ...

for (var child in element.childNodes) {
        console.log(typeof(child));
}

为什么这两种for loop会得到不同的结果? 感谢..

2 个答案:

答案 0 :(得分:0)

“只有for...in循环遍历可枚举的属性。”查看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

所说的属性只是字符串,我相信它们是你对象中的键。

答案 1 :(得分:-1)

for in循环中,您可以检索密钥。以下内容应与第一个循环记录相同:

for (var child in element.childNodes) {
  console.log(typeof(element.childNodes[child]));
}