【发布时间】:2018-03-20 19:23:48
【问题描述】:
我对 js 中的for loop 有疑问,这里有例子:
在这部分,child 是object(我想要的)。
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这两种类型的结果不同?
谢谢..
【问题讨论】:
-
第二个循环是遍历键。要获得类似的结果,您需要
element.childNodes[child] -
因为
for..in循环迭代对象的可枚举键。喜欢for(var key in object) ...。你可能是说for(var child of element.childNodes) ... -
你应该使用
of而不是in -
为什么你没有在第二个 sn-p 中也使用
for (var i in element.childNodes) { var child = element.childNodes[i]; … }模式?
标签: javascript