为什么在javascript中使用不同的“for循环”时会得到不同的结果?
我对js中的为什么在javascript中使用不同的“for循环”时会得到不同的结果?,javascript,Javascript,我对js中的for loop有一个问题,下面是一些示例: 在这部分中,child是object(我想要的) 为什么循环的两种类型的得到了不同的结果? 感谢..在中,在循环中,您可以检索密钥。以下日志应与第一个循环相同: for (var child in element.childNodes) { console.log(typeof(element.childNodes[child])); } “一个for…in循环只对可枚举属性进行迭代。”签出 所述属性只是字符串,我相信它们是对象中的
for loop
有一个问题,下面是一些示例:
在这部分中,child
是object
(我想要的)
为什么循环的两种类型的得到了不同的结果?
感谢..在中,在循环中,您可以检索密钥。以下日志应与第一个循环相同:
for (var child in element.childNodes) {
console.log(typeof(element.childNodes[child]));
}
“一个for…in
循环只对可枚举属性进行迭代。”签出
所述属性只是字符串,我相信它们是对象中的键。第二个循环正在键之间循环。要获得类似的结果,您需要element.childNodes[child]
,因为for..in
循环迭代对象的可枚举键。类似于(对象中的变量键)
。你的意思可能是for(元素的var child.childNodes).
你应该使用of而不是中的为什么不在第二个代码段中使用for(元素的var i.childNodes){var child=element.childNodes[i];…}
模式呢?
for (var child in element.childNodes) {
console.log(typeof(child));
}
for (var child in element.childNodes) {
console.log(typeof(element.childNodes[child]));
}