我编写了一些简单的 js 代码,但结果出乎意料。 这怎么可能?
var n = $("#mGrid tbody tr[class*='success']");
console.log(n.length);
for (var i in n)
{
console.log("x");
}
控制台
2
202 x
最佳答案
这意味着 202
次 x
在控制台中打印。当您在对象上使用for..in
循环时,特定对象的可枚举属性将被迭代,直到其原型(prototype)链的末尾。
你的对象有 202 个可数的属性,包括自己的属性和原型(prototype)属性。
要迭代 jquery 对象,您可以使用 .each
如下所示,
e.each(function(){
//$(this) the current element on the iteration.
});
如果你想使用 for 循环,那么你必须像下面这样做,
for (var i=0,i< n.length;i++) {
console.log("x");
}
关于javascript - JavaScript 循环产生意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36810140/