2014-12-04 99 views
0

我注意到,在某些情况下,当导入jQuery时,它将作为定义对象或数组的最后一个元素添加 - inArray ...完全破坏for ... in循环,因为它计数愚蠢的功能作为元素。jQuery添加inArray作为最后一个数组/对象元素

例子:

console.log(v); 
VM19135:2 Uncaught ReferenceError: v is not defined 
var v = []; 
console.log(v); 
VM19222:2 [inArray: function] 

什么是地狱????如何避免这种情况?

下面是一个例子网站,让这些结果: http://kobieta.interia.pl

刚进入控制台,然后输入:

变种V = []; console.log(v);

回答

1

当您遇到此问题时,您需要使用Object.prototype.hasOwnProperty()。这是因为JavaScript使用原型的方式。

这很烦人,但你需要运行你的,在类似这样的循环:

var v = []; 
for (var name in v) { 
    if (v.hasOwnProperty(name)) { 
    console.log(v[name]); 
    } 
} 
+0

啊,忘了,谢谢! – 2014-12-05 05:46:54

相关问题