我有一个问题在JS约for loop
,这里是一个例子:为什么我在javascript中使用不同的`for loop`时会得到不同的结果?
在这一部分,child
是object
(我想)。
for (var i = 0; i < element.childNodes.length; i++) {
var child = element.childNodes[i];
console.log(typeof(child));
}
但是,当变化的代码,成为String
child
,价值0, 1, 2 ...
for (var child in element.childNodes) {
console.log(typeof(child));
}
为什么两类for loop
得到了不同的结果? 谢谢..
第二个循环正在循环通过键。为了获得相似的结果,你需要'element.childNodes [child]' – maioman
,因为'for..in'循环迭代了一个对象的可枚举键。像'for(var key in object)...'。你可能是指'for(var element.childNodes的子元素)...' – Thomas
你应该使用'of'而不是'in' –