我注意到,在某些情况下,当导入 jQuery
时,它会添加为定义的对象或数组的最后一个元素 - inArray
...这完全破坏了 for ... in
循环,因为它将那个愚蠢的函数算作元素。
示例:
console.log(v);
VM19135:2 Uncaught ReferenceError: v is not defined
var v = [];
console.log(v);
VM19222:2 [inArray: function]
什么鬼????如何避免这种情况?
下面是一个给出这些结果的示例网站: http://kobieta.interia.pl
只需进入控制台,然后输入:
var v = []; 控制台.log(v);
最佳答案
您需要使用Object.prototype.hasOwnProperty()当你遇到这个问题时。发生这种情况是因为 JavaScript 使用原型(prototype)的方式。
这很烦人,但您需要运行与此类似的 for-in 循环:
var v = [];
for (var name in v) {
if (v.hasOwnProperty(name)) {
console.log(v[name]);
}
}
关于javascript - jQuery 添加 inArray 作为最后一个数组/对象元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27306089/